[英]How to make unique combinations of the following list of tuples
在python中,我有一个包含以下元组的列表:
[(Bob, Tom), (GreenWood, Pearson)]
第一个tuple
包含名字,第二个tuple
包含姓氏。
PS:我给出的列表是一个样本,实际列表随着名称的不同而变化
我想要做的是生成所有可能生成的名称,即
- Bob GreenWood
- Bob Pearson
- Tom GreemWood
- Tom Pearson
我怎样才能用Python或任何其他语言实现它。
我试图首先将Bob in tuple 1
并与last names in tuple 2
组合并执行类似tuple1[1:]
以摆脱Bob。 然后重复(可能的递归?)只有Tom in tuple
但我似乎无法围绕算法应该是什么样子。
有帮助吗?
您可以像这样使用itertools.product
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.