展开元组列表

0 投票
3 回答
4063 浏览
提问于 2025-04-17 08:14

我有一个列表,比如 [(1, 2), (4, 7), (6, 0)],里面的每个小组(元组)长度都是一样的。请问用最“python”的方式怎么把它变成 [1, 2, 4, 7, 6, 0] 这样一个列表呢?

3 个回答

0
my_list = [(1, 2), (4, 7), (6, 0)]
print sum(my_list,())

结果

(1, 2, 4, 7, 6, 0)
0

如果你没有使用Python 3,

reduce(lambda x,y: x+y, sequence)

也可以用这个方法。效果可能会有所不同,因为reduce()这个功能已经被去掉了,不过总是有其他的解决方案可以选择,这样也不错。

11

你可以使用列表推导式

my_list = [(1, 2), (4, 7), (6, 0)]
result = [x for t in my_list for x in t]

或者

result = list(itertools.chain.from_iterable(my_list))

撰写回答