【发布时间】:2015-12-13 18:17:58
【问题描述】:
现在,我试图只包含两个参数,并且我一直在使用下面的代码。
for i in d2:
for j in D1:
x[j] = d2[i]-D1[j]
for k in D1:
if (x[j] == D1[k]):
break
print d2[i] = D1[j] + x[j]
错误
当我尝试运行代码时,我得到了这个错误:
Traceback (most recent call last):
line 11, in <module>
x[j] = d2[i]-D1[j]
IndexError: list index out of range
【问题讨论】:
-
您正在循环列表的元素,而不是列表的索引。索引将采用
for i in range(len(D2))的形式,但这通常不是很pythonic。我还会查看itertools.combinations(D1, 2)以获取所有 D1 对,然后您可以检查是否是in D2)