【发布时间】:2012-11-18 23:29:21
【问题描述】:
可能重复:
join list of lists in python
Flatten (an irregular) list of lists in Python
How can I flatten lists without splitting strings?
我有一个列表元组列表树,我想将它展平以进行查询,以便我可以打印每个元组的第一个列表的所有项目。
我可以通过 for 循环做到这一点
bigNest = [([item1,item2],[]),([item3],[item4])]
mergedlist = []
for listItem in bigNest:
mergedlist += listItem[0]
print mergedList
我想知道是否有更简单/更快的方法也适用于更大的元组。
【问题讨论】:
-
你搜索过“flatten”吗?这个问题已经回答了 100 次。
-
有很多不同的方法可以做,正如前面的答案中所讨论的(这就是我投票结束的原因)。有简洁但缓慢的 (
sum(nested_list, [])) 或各种基于 itertools 的解决方案(例如itertools.chain),它们的扩展效果会更好。 -
我确实搜索过,但显然我没有找到正确的关键字,因为没有出现上述主题
-
另外,抱歉,上面的“可能重复”都没有回答我的问题。如果我愿意,我知道如何变平。我想要pythonic的方式来做到这一点。列出的都比我的大!
-
print list(chain.from_iterable(item for item in chain.from_iterable(bigNest) if item))