将元组列表转换为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)

输出结果

运行上面的代码给我们以下结果-

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函数应用于每个列表元素,最终生成原始列表中所有元素的列表。

示例

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']

以上是 将元组列表转换为Python中的列表 的全部内容, 来源链接: utcz.com/z/338568.html

回到顶部