将列表列表一起加入Python中的一个列表[重复]
Posted
技术标签:
【中文标题】将列表列表一起加入Python中的一个列表[重复]【英文标题】:Join a list of lists together into one list in Python [duplicate] 【发布时间】:2011-03-04 00:55:15 【问题描述】:可能重复:Flatten (an irregular) list of lists in Python
我有一个包含许多列表的列表。这是一个例子,
[
[Obj, Obj, Obj, Obj],
[Obj],
[Obj],
[
[Obj,Obj],
[Obj,Obj,Obj]
]
]
有没有办法将所有这些项目连接在一起作为一个列表,所以输出将类似于
[Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj]
【问题讨论】:
重复:***.com/questions/2158395/… 重复:***.com/questions/952914/… 【参考方案1】:是的,这里是one way to do it:
def flatten(lst):
for elem in lst:
if type(elem) in (tuple, list):
for i in flatten(elem):
yield i
else:
yield elem
请注意,这会创建一个生成器,因此如果您需要一个列表,请将其包装在list()
:
flattenedList = list(flatten(nestedList))
【讨论】:
【参考方案2】:从 MonkeySage 处盗取,here:
def iter_flatten(iterable):
it = iter(iterable)
for e in it:
if isinstance(e, (list, tuple)):
for f in iter_flatten(e):
yield f
else:
yield e
【讨论】:
以上是关于将列表列表一起加入Python中的一个列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章