Pythonで計算結果cをリストgz[i][j]に格納gz[i][j]=cできなくて困っています。
cの計算や代入はprint(i,j,c)で確認できています。
cもgzもココが初出で、前後のコードでの使用 や 定義もしていません。
for i in range(len(x)): for j in range(len(x)): c = (a1*x[i]**3)+(a2*x[i]**2*y[j]) print(i,j,c) gz[i][j]=c
エラーメッセージ
gz[i][j]=c TypeError: 'int' object does not support item assignment
下記の様にダイレクトに格納する場合に、
事前にgzを2次元配列と定義するコードは必要なのでしょうか?
gz[i][j] = (a1*x[i]**3)+(a2*x[i]**2*y[j])
そのコードより前にgzに代入してるところはありませんか(引数としてでも)
gz が 1次元配列だとしたら、同様のエラーになります。
>>> gz = [0]
>>> gz[0][0] = 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object does not support item assignment
> 事前にgzを2次元配列と定義するコードは必要なのでしょうか?
必要です。
gz = [[0 for i in range(len(x))] for j in range(len(x))]
回答2件
あなたの回答
tips
プレビュー