在 Python 中将元组列表转换为列表

pythonserver side programmingprogramming更新于 2026/1/13 17:16:17

我们可能会遇到元素为元组的列表。但为了进一步处理数据,我们可能需要将元组转换为列表的普通元素。在本文中,我们将看到实现此目的的方法。

使用列表推导式

在这种方法中,我们设计嵌套的 for 循环来遍历每个元组并生成最终的元素列表。

示例

listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
# 给定列表
print("给定列表: \n", listA)
res = [item for t in listA for item in t]
# 结果
print("最终列表: \n",res)

输出

运行上述代码得到以下结果 −

给定列表:
[('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
最终列表:
['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']

使用 itertools

我们还可以使用 itertools.chain 方法和 * 运算符,它将获取元组列表中的每个元素,然后将它们组合为列表的一系列元素。

示例

import itertools
listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
# 给定列表
print("给定列表: \n", listA)
res = list(itertools.chain(*listA))
# 结果
print("最终列表: \n",res)

输出

运行上述代码得到以下结果 −

给定列表:
[('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
最终列表:
['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']

使用reduce和concat

reduce函数用于将concat函数应用于每个列表元素,最终生成原始列表中所有元素的列表。

示例

import operator
from functools import reduce
listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
# 给定列表
print("给定列表: \n", listA)
res = (list(reduce(operator.concat, listA)))
# 结果
print("最终列表: \n",res)

输出

运行上述代码得到以下结果 −

给定列表:
[('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
最终列表:
['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']

相关文章


有用资源