Python 如何对以下元组列表进行唯一组合
在python中,我有一个包含以下元组的列表:Python 如何对以下元组列表进行唯一组合,python,Python,在python中,我有一个包含以下元组的列表: [(Bob, Tom), (GreenWood, Pearson)] 第一个元组包含名字,第二个元组包含姓氏。 附:我给的名单是一个样本,实际名单会随着名字的增加而变化 我要做的是生成所有可能生成的名称,即 - Bob GreenWood - Bob Pearson - Tom GreemWood - Tom Pearson 如何更好地用Python或任何其他语言实现这一点 我试图首先在元组1中取Bob,然后在元组2中与姓氏进行组合,然后执行类
[(Bob, Tom), (GreenWood, Pearson)]
第一个元组
包含名字,第二个元组
包含姓氏。附:我给的名单是一个样本,实际名单会随着名字的增加而变化 我要做的是生成所有可能生成的名称,即
- Bob GreenWood
- Bob Pearson
- Tom GreemWood
- Tom Pearson
如何更好地用Python或任何其他语言实现这一点
我试图首先在元组1中取Bob,然后在元组2中与姓氏进行组合,然后执行类似tuple1[1://code>的操作来摆脱Bob。然后重复(可能的递归?)
有什么帮助吗?你可以这样使用
from itertools import product
names = [('Bob', 'Tom'), ('GreenWood', 'Pearson')]
for item in product(*names):
print(item)
print(" ".join(item))
输出
('Bob', 'GreenWood')
('Bob', 'Pearson')
('Tom', 'GreenWood')
('Tom', 'Pearson')
如果您想将可能的名称打印为字符串,那么您可以像这样连接结果
from itertools import product
names = [('Bob', 'Tom'), ('GreenWood', 'Pearson')]
for item in product(*names):
print(item)
print(" ".join(item))
这将产生
Bob GreenWood
Bob Pearson
Tom GreenWood
Tom Pearson
或者print'。加入(项目)
@sshashank124谢谢:)包括在答案中。哇,这太棒了!简单而优雅!只是旁注。Id将print item
更改为print(item)
python3i的cozguess@Krimson是的,你是对的<代码>打印
是Python 3.x中的一个函数:)