如何配置python列表中的值

时间:2013-11-15 21:53:25

标签: python list function

list = [1,2,3,4]

我想获得下面的结果并将它们存储在csv文件中。 (总共6行)

1,2
1,3
1,4
2,3
2,4
3,4

是否有这样的功能或如何在csv文件中完成并存储它?

4 个答案:

答案 0 :(得分:7)

itertools是你的朋友......

http://docs.python.org/2/library/itertools.html

>>> import itertools
>>> x = [1, 2, 3, 4]
>>> list(itertools.combinations(x, 2))
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]

答案 1 :(得分:1)

使用itertools.combinations。它内置于Python 2.6 +。

import itertools

pairs = itertools.combinations(list, 2)

答案 2 :(得分:1)

一种选择是使用itertools.permutations和列表理解:

>>> [(x, y) for x, y in itertools.permutations(mylist, 2) if x < y]
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]

条件x < y可确保您只获得x低于y的排列。

更好的选择是使用itertools.combinations(mylist, 2)

答案 3 :(得分:1)

这很简单,可以自己做:

l=[1,2,3,4]
for i in range(0,len(l)):
    for j in range (i+1,len(l)):
        print l[i],l[j]

但使用itertools的解决方案可以更容易推广。