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

Wel*_*lls 0 python

我想从列表中的每对值的元组,例如

[1,2,3,4]

会产量:

(1,2)
(1,3)
(1,4)
(2,3)
(2,4)
(3,4)
Run Code Online (Sandbox Code Playgroud)

这似乎非常单行的食谱,但我不能让它工作.

msh*_*yem 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)]
Run Code Online (Sandbox Code Playgroud)

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