如何从列表中获取元素组合?

2022-03-23 00:00:00 python combinations

问题描述

我有一个列表L = [1,2,3]。从列表中获取2个元素的所有可能的唯一组合的最佳方式是什么,输出应该以迭代的方式获得,如下所示:

第一个ITER=1 2、第二个ITER=1 3和第三个ITER=2 3


解决方案

最好的方法是使用itertools.combinations,如下所示

from itertools import combinations
print [item for item in combinations(L, r = 2)]
# [(1, 2), (1, 3), (2, 3)]

您可以像这样迭代

for item in combinations(L, r = 2):
    print item
# (1, 2)
# (1, 3)
# (2, 3)

或者您可以访问单个元素,如下所示

for item in combinations(L, r = 2):
    print item[0], item[1]

相关文章