如何从列表中获取元素组合?
问题描述
我有一个列表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]
相关文章