用Pythonic方式展开元组列表
我需要做这个的反向操作
也就是说,我有一个元组的列表
[(1,2), (3,4), (5,6)]
需要生成这个
[1,2,3,4,5,6]
我个人会这样做
>>> tot = []
>>> for i in [(1,2), (3,4), (5,6)]:
... tot.extend(list(i))
但我想看看更花哨的做法。
3 个回答
2
l = [(1,2), (3,4), (5,6)]
reduce (lambda x,y: x+list(y), l, [])
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
6
>>> import itertools
>>> tp = [(1,2),(3,4),(5,6)]
>>> lst = list(itertools.chain(*tp))
>>> lst
[1, 2, 3, 4, 5, 6]
当然,如果你不需要一个列表,而只想要一个迭代器的话,可以去掉 list()
这个转换的调用。