python - 列表元组的解包列表

标签 python list tuples list-comprehension

我有一个元组列表,其中元组中的一个元素是一个列表。

example = [([0, 1, 2], 3, 4), ([5, 6, 7], 8, 9)]

我只想得到一个元组列表

output = [(0, 1, 2, 3, 4), (5, 6, 7, 8, 9)]

question似乎解决了元组的问题,但我担心我的用例在内部列表中有更多元素,

[(a, b, c, d, e) for [a, b, c], d, e in example]

看起来很乏味。有没有更好的写法?

最佳答案

元组可以像列表一样用 + 连接起来。所以,你可以这样做:

>>> example = [([0, 1, 2], 3, 4), ([5, 6, 7], 8, 9)]
>>> [tuple(x[0]) + x[1:] for x in example]
[(0, 1, 2, 3, 4), (5, 6, 7, 8, 9)]

请注意,这适用于 Python 2.x 和 3.x。

关于python - 列表元组的解包列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30355472/

相关文章:

c# - C# 中 Entity Framework 和列表的转换错误

python - 如何在 python 中访问 nametuples 中的元素?

python - Pandas 数据框的元组列表列表?

python - sympy - 使用 "solve()"查找分母中的值

python - 如何在 gnome 终端中终止子进程

python - 如何根据 DFA1 和 DFA2 的转换创建 DFA 联合转换字典

python - Range 类的 AutoFilter 方法失败(Dispatch 与 EnsureDispatch)

c# - System.Collections.Generic.List 中的某项在什么情况下不会被删除成功?

python - 将列表分成字符串,而不是字符

python - 如果元组对相同则删除它们