我们可能会遇到一个以元组为元素的列表。但是,为了进行进一步的数据处理,我们可能需要将元组转换为列表的普通元素。在本文中,我们将看到实现这一目标的方法。
在这种方法中,我们设计了嵌套的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)
输出结果
运行上面的代码给我们以下结果-
Given list : [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')] Final list: ['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']
我们还可以将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函数应用于每个列表元素,最终生成原始列表中所有元素的列表。
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']