更多“pythonic”方式将列表列表扩展到一个连接列表
作者:互联网
参见英文答案 > How to make a flat list out of list of lists? 38个
这是与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]
将多个列表(存储在另一个列表中)加入一个长列表?
解决方法:
使用itertools.chain.from_iterable()
类方法:
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):
但只有较小的列表才能这样做.
标签:python,python-3-x,python-3-2 来源: https://codeday.me/bug/20190725/1534755.html