如何对以下元组列表进行唯一组合

2024-04-20 13:00:07 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,我有一个包含以下元组的列表:

[(Bob, Tom), (GreenWood, Pearson)]

第一个tuple包含名字,第二个tuple包含姓氏。
PS:我给出的列表是一个示例,实际列表因名称的不同而不同

我要做的是生成所有可能生成的名称,即

- Bob GreenWood
- Bob Pearson
- Tom GreemWood
- Tom Pearson

如何更好地用Python或任何其他语言实现这一点。你知道吗

我试着先用Bob in tuple 1last names in tuple 2组合,然后做一些类似tuple1[1:]的操作来摆脱Bob。然后重复(可能的递归?)只有Tom in tuple但我似乎不知道算法应该是什么样子。你知道吗

有什么帮助吗?你知道吗


Tags: in名称示例列表名字psbob元组
1条回答
网友
1楼 · 发布于 2024-04-20 13:00:07

你可以这样使用^{}

from itertools import product
names = [('Bob', 'Tom'), ('GreenWood', 'Pearson')]
for item in product(*names):
    print(item)

输出

('Bob', 'GreenWood')
('Bob', 'Pearson')
('Tom', 'GreenWood')
('Tom', 'Pearson')

如果要将可能的名称打印为字符串,那么可以像这样连接结果

print(" ".join(item))

这将产生

Bob GreenWood
Bob Pearson
Tom GreenWood
Tom Pearson

相关问题 更多 >