![](/img/trans.png)
[英]How can I find all the possible combinations of a list of lists (in Python)?
[英]How can I print the possible combinations of a list in Python?
我的清单是:
groupA=['Russia', 'Egypt', 'Saudi Arabia', 'Uruguay']
因此,我想打印出将互相比赛的所有独特的球队组合:
Russia Vs. Egypt
Russia Vs. Saudi Arabia
Russia Vs. Uruguay
Egypt Vs. Saudi Arabia
Egypt Vs. Uruguay
Saudi Arabia Vs. Uruguay
我可以使用for循环吗?
这应该做您想要的:
groupA=['Russia', 'Egypt', 'Saudi Arabia', 'Uruguay']
for i in range(len(groupA)):
for j in range(i+1, len(groupA)):
print("{} Vs. {}".format(groupA[i], groupA[j]))
如果您更喜欢使用itertools:
from itertools import combinations
groupA=['Russia', 'Egypt', 'Saudi Arabia', 'Uruguay']
for combo in combinations(groupA, 2):
print("{} Vs. {}".format(combo[0], combo[1]))
这可以解决问题:
groupA = ['Russia', 'Egypt', 'Saudi Arabia', 'Uruguay']
for index, country in enumerate(groupA):
for rival in groupA[index+1:]:
print('%s vs %s'%(country, rival) )
每当您考虑排列,组合,笛卡尔积等时,请考虑itertools
库; 这是Python的标准。 如果不存在,请查看sympy 。
>>> from itertools import combinations
>>> for c in combinations(groupA, 2):
... '{} Vs. {}'.format(*c)
...
'Russia Vs. Egypt'
'Russia Vs. Saudi Arabia'
'Russia Vs. Uruguay'
'Egypt Vs. Saudi Arabia'
'Egypt Vs. Uruguay'
'Saudi Arabia Vs. Uruguay'
format
也是输出的不错选择。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.