这是与python语法相关的问题......是否有更优雅的和更多pythonic 这样做的方式:
>>> test = [[1,2], [3,4,5], [1,2,3,4,5,6]]
>>> result = []
>>> for i in test: result += i
>>> result
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6]
将多个列表(存储在另一个列表中)加入一个长列表?
答案 0 :(得分:8)
使用itertools.chain.from_iterable()
classmethod:
from itertools import chain
result = list(chain.from_iterable(test))
如果你需要做的只是遍历链式列表,那么不要将它实现为list()
,只需循环:
for elem in chain.from_iterable(test):
print(elem, end=' ') # prints 1 2 3 4 5 1 2 3 4 5 6
您也可以直接在itertools.chain
上使用参数解包:
for elem in chain(*test):
但只能使用较小的列表。