0

考虑代码:

a = [1, 2, 3, 4]
for i in range(len(a)):

   for j in range(i+1, len(a)):
       dd21 = (a[i]-a[j])
       j = j + 1
       if i != j and dd21 !=0:
             print i, j, dd21
fig = plt.figure()
ax = fig.add_subplot(111)

ax.hist(dd21)
plt.tight_layout()

plt.tight_layout()
plt.show()

output = IndexError: invalid index to scalar variable.

我必须更改我的 dd21 列表,以便它可以在直方图中绘制?

4

1 回答 1

1

您似乎打算存储dd21您在循环中计算的所有值。dd21但是,目前您每次都覆盖。

这应该使它工作,允许您绘制直方图:

a = [1, 2, 3, 4]
dd21 = [] # initialize empty list
for i in range(len(a)):

   for j in range(i+1, len(a)):
       dd21.append(a[i]-a[j])
       # ... continue as before
于 2013-02-23T00:27:32.097 回答