【发布时间】:2015-01-17 00:09:07
【问题描述】:
如何遍历列表中的所有对组合,例如:
list = [1,2,3,4]
输出:
1,2
1,3
1,4
2,3
2,4
3,4
谢谢!
【问题讨论】:
-
使用 for 循环和切片?
如何遍历列表中的所有对组合,例如:
list = [1,2,3,4]
输出:
1,2
1,3
1,4
2,3
2,4
3,4
谢谢!
【问题讨论】:
>>> import itertools
>>> lst = [1,2,3,4]
>>> for x in itertools.combinations(lst, 2):
... print(x)
...
(1, 2)
(1, 3)
(1, 4)
(2, 3)
(2, 4)
(3, 4)
顺便说一句,不要使用list 作为变量名。它隐藏了内置函数/类型list。
【讨论】:
使用itertools.combinations
>>> import itertools
>>> list(itertools.combinations([1,2,3,4], 2))
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
【讨论】:
您可以按如下方式使用嵌套的 for 循环:
list = [1,2,3,4]
for x in list :
for y in list :
print x, y
【讨论】: