【发布时间】:2014-11-27 11:19:58
【问题描述】:
Python。我有两个列表,长度相同。这个想法是建立配对数据(用于回归分析)。我想出了循环,它看起来像这样。
a=(1,3,5,7) #first list
b=(2,4,6,10) #second list
w=zip(a,b) #paired values from both lists
i=0
j=0
for each in w:
x= w[i]
for that in xrange(i,len(w)-1):
i+=1
print x, w[i]
j+=1
i=j
输出与我预期的一样 - 第一对与第二、第三……依此类推,然后第二对与第三、第四……依此类推(跳过第二对和第一对之间的组合,因为它是有点像第一对和第二对的组合......)
(1, 2) (3, 4)
(1, 2) (5, 6)
(1, 2) (7, 10)
(3, 4) (5, 6)
(3, 4) (7, 10)
(5, 6) (7, 10) [..] and so on as I was expecting.
问题是 - 是否有其他一些更短、优化的方法来重写此代码,也许使用 itertools?
【问题讨论】:
标签: python optimization combinations combinatorics itertools