编程语言
首页 > 编程语言> > 更多“pythonic”方式将列表列表扩展到一个连接列表

更多“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