我目前正在为我的计算机科学概论讲座设计一个项目,现在遇到了以下问题:我的代码输出是包含列表的列表,我希望将所有这些列表中的所有对象放入一个大列表中。我们的输出看起来像这样:
[[['0452']],
[['1234'], ['176']],
[['2245'], ['2345', '2345'], ['2545']],
[['3452', '3432'], ['3523']],
[['44563'], ['4523']],
[['5234', '5234', '5234'], ['5435'], ['563']],
[['6435']],
[['7134']],
[['8324']],
['923', '9936']
]
big_list=[element for list_ in bigger_list for element in list_]
首先将您的输出转换为字符串,然后执行以下操作:
import re
text= "[['0452']], [['1234'], ['176']], [['2245'], ['2345', '2345'], ['2545']], [['3452', '3432'], ['3523']], [['44563'], ['4523']], [['5234', '5234', '5234'], ['5435'], ['563']], [['6435']], [['7134']], [['8324']], ['923', '9936']]"
pattern = r'[^0-9]'
text = re.sub(pattern, ' ', text)
print(text)
结果:
['0452', '1234', '176', '2245', '2345', '2345', '2545', '3452', '3432', '3523', '44563', '4523', '5234', '5234', '5234', '5435', '563', '6435', '7134', '8324', '923', '9936']
def unpack(iterable):
res = []
for x in iterable:
if isinstance(x, list):
res.extend(unpack(x))
else:
res.append(x)
return res
>>> data = data = [[['0452']], [['1234'], ['176']], [['2245'], ['2345', '2345'], ['2545']], [['3452', '3432'], ['3523']], [['44563'], ['4523']], [['5234', '5234', '5234'], ['5435'], ['563']], [['6435']], [['7134']], [['8324']], ['923', '9936']] >>> unpack(data) ['0452', '1234', '176', '2245', '2345', '2345', '2545', '3452', '3432', '3523', '44563', '4523', '5234', '5234', '5234', '5435', '563', '6435', '7134', '8324', '923', '9936']