如何从列表中获取元素组合?
我有一个列表 L = [1,2,3]
。我想知道从这个列表中获取所有可能的、独特的两个元素组合的最好方法是什么。输出的结果应该是逐步显示,比如:
第一次迭代 = 1 2
,第二次迭代 = 1 3
,第三次迭代 = 2 3
1 个回答
6
最好的方法是使用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]