Python 中将元组列表转换为列表
我们可能会遇到元素为元组的列表。但为了进一步的数据处理,我们可能需要将元组转换为列表的普通元素。在本文中,我们将了解实现此目标的方法。
使用列表推导式
在这种方法中,我们设计嵌套的 for 循环来遍历每个元组并生成最终的元素列表。
示例
listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')] # Given list print("Given list : \n", listA) res = [item for t in listA for item in t] # Result print("Final list: \n",res)
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
输出
运行以上代码将得到以下结果:
Given list : [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')] Final list: ['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']
使用 itertools
我们还可以使用 itertools.chain 方法以及 * 运算符,它将获取元组列表中的每个元素,然后将它们组合为列表的一系列元素。
示例
import itertools listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')] # Given list print("Given list : \n", listA) res = list(itertools.chain(*listA)) # Result print("Final list: \n",res)
输出
运行以上代码将得到以下结果:
Given list : [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')] Final list: ['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')] # Given list print("Given list : \n", listA) res = (list(reduce(operator.concat, listA))) # Result print("Final list: \n",res)
输出
运行以上代码将得到以下结果:
Given list : [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')] Final list: ['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']
广告