python:从列表中获取所有值对

时间:2015-08-27 01:28:15

标签: python

我喜欢列表中每对值的元组,例如

[1,2,3,4]

会屈服:

(1,2)
(1,3)
(1,4)
(2,3)
(2,4)
(3,4)

这似乎非常单行,但我无法让它发挥作用。

1 个答案:

答案 0 :(得分:5)

这实际上是列表中2个元素的组合。以这种方式使用itertools.combinations

>>> your_list = [1,2,3,4]
>>> from itertools import combinations
>>> list(combinations(your_list,2))
# [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]

如果您需要所有对,请使用itertools.product