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 に答える