猿问

嵌套列表转换为python中的一个列表

[[1755], [1126], [1098], [1618], [1618], [852], [1427], [1044], [852], [1755], [1718], [819], [1323], [1961], [1113], [1126], [1413], [1658], [1718], [1718], [1035], [1618], [1618]]

这是嵌套列表,每个项目都是一个列表,我想制作这个列表,如下所示:

[1755, 1126, 1098, 1618, 1618,852, 1427, 1044, 852, 1755, 1718, 819, 1323, 1961, 1113, 1126, 1413, 1658, 1718, 1718, 1035, 1618, 1618]


炎炎设计
浏览 237回答 3
3回答

倚天杖

对于最一般的情况,这个话题已经有了所有的答案。在这种非常特殊的情况下,您可以使用x, = [foo]习语解包长度为 1 的迭代。>>> lst = [[1755], [1126], [1098], [1618]]>>> [x for x, in lst]                                                              [1755, 1126, 1098, 1618]

千万里不及你

您可以使用itertools.chain(*iterables):In [316]: from itertools import chainIn [315]: l = [[1755], [1126], [1098], [1618], [1618], [852], [1427], [1044], [852], [1755], [1718], [819], [1323], [1961], [1113], [1126], [14     ...: 13], [1658], [1718], [1718], [1035], [1618], [1618]]In [317]: list(chain(*l))Out[317]: [1755, 1126, 1098, 1618, 1618, 852, 1427, 1044, 852, 1755, 1718, 819, 1323, 1961, 1113, 1126, 1413, 1658, 1718, 1718, 1035, 1618, 1618]

HUWWW

如果每个子列表只有一个元素,这是一种解决方案:tmp = []for sublist in list:  tmp.append(sublist[0])另外一个选项:flat_list = [sublist[0] for sublist in list]如果此解决方案适合您的需求,请毫不犹豫地投票 + 关闭。
随时随地看视频慕课网APP

相关分类

Python
我要回答