组合 Python 元组列表中的元组


对于数据分析,我们有时采用 Python 中可用的数据结构组合。列表可以包含元组作为其元素。在本文中,我们将了解如何将元组的每个元素与另一个给定的元素组合,并生成列表元组组合。

使用 for 循环

在下面的方法中,我们创建 for 循环,通过获取元组的每个元素并在列表中的元素之间循环,来创建元素对。

示例

 实时演示

Alist = [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')]
# Given list of tuple
print("List of tuples : \n",Alist)
# Combine tuples in list of tuples
res = [(t1, t2) for i, t2 in Alist for t1 in i]
# print result
print("The list tuple combination : \n" ,res)

输出

运行上述代码后,我们会得到以下结果 -

List of tuples :
[([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')]
The list tuple combination :
[(2, 'Mon'), (8, 'Mon'), (9, 'Mon'), (7, 'Wed'), (5, 'Wed'), (6, 'Wed')]

使用乘积

itertools 模块具有名为 product 的迭代器,它创建传递给它的参数的笛卡尔积。在这个示例中,我们设计 for 循环来遍历元组的每个元素,并与元组中的非列表元素形成一对。

示例

 实时演示

from itertools import product
Alist = [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')]
# Given list of tuple
print("List of tuples : \n",Alist)
# Combine tuples in list of tuples
res = [x for i, j in Alist for x in product(i, [j])]
# print result
print("The list tuple combination : \n" ,res)

输出

运行上述代码后,我们会得到以下结果 -

List of tuples :
[([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')]
The list tuple combination :
[(2, 'Mon'), (8, 'Mon'), (9, 'Mon'), (7, 'Wed'), (5, 'Wed'), (6, 'Wed')]

更新于: 2020-05-20

508 个浏览

开启您的 职业

完成课程获得证书

开始
广告