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

2 投票
1 回答
705 浏览
提问于 2025-04-17 20:56

我有一个列表 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]

撰写回答