分解元组列表的 pythonic 方法

标签 python list

我需要做相反的事情

Multiple Tuple to Two-Pair Tuple in Python?

也就是说,我有一个元组列表

[(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))

但我想看一些更奇特的东西。

最佳答案

最有效的方法是这样的:

tuples = [(1,2), (3,4), (5,6)]
[item for t in tuples for item in t]

输出

[1, 2, 3, 4, 5, 6]

这里是 the comparison我在一个重复的问题中用了多种方法来做到这一点。

我知道有人会建议这个解决方案

sum(tuples, ())

但是不要使用它,它会为每一步创建一个新的中间结果列表!除非您不关心性能并且只想要一个紧凑的解决方案。 有关更多详细信息,请查看 Alex's answer

总结:小列表的求和速度更快,但大列表的性能会显着下降。

关于分解元组列表的 pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1880683/

相关文章:

Python 和 Oracle 数据库 - "Error DPI-1050: Oracle Client library must be at version 11.2 or higher"

python - Django select 如何记住选择的值?

c# - 列出与另一个列表条件相关的操作

python - 如何更改以列表形式输入 for 循环的变量

python - 从列表中删除字典

Python:!= 和 "is not"之间的区别

python - 将所有字符串替换为 DataFrame 中的默认数字

python - 有没有办法在 Python 中检查函数的签名?

arrays - 检查 sub 是否返回 undef

javascript - 如何在新的 div 中追加 li