3 回答

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

TA贡献1784条经验 获得超9个赞
您可以使用itertools.chain(*iterables):
In [316]: from itertools import chain
In [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]

TA贡献1874条经验 获得超12个赞
如果每个子列表只有一个元素,这是一种解决方案:
tmp = []
for sublist in list:
tmp.append(sublist[0])
另外一个选项:
flat_list = [sublist[0] for sublist in list]
如果此解决方案适合您的需求,请毫不犹豫地投票 + 关闭。
添加回答
举报