解決したいこと
pythonでdata[]から取り出した値を要素ごとに足し合わせてresultr[]に格納するようなプログラムを書いているのですが、"TypeError: 'int' object is not subscriptable"というエラーが出て上手くいきません。
何が原因なのでしょうか。
発生している問題・エラーメッセージ
1.0 2.0 Traceback (most recent call last): File "num.py", line 20, in <module> resultr[i] += in_fftr TypeError: 'int' object is not subscriptable
該当のgnuradioのソースコード
num.py
1import numpy as np 2import cmath 3 4data = [1+2j, 2+3j, 3+4j, 4+5j, 5+6j, 6+7j, 7+8j, 8+9j, 9+10j] 5 6in_fftr = [] 7in_ffti = [] 8resultr = [] 9 10resultr = 0 11 12for j in range(3): 13 for i in range(3): 14 15 in_fftr = data[i].real 16 in_ffti = data[i].imag 17 print(in_fftr, in_ffti) 18 19 resultr[i] += in_fftr 20 print(resultr)
resultr = 0 としていますので、resultr が int 型になっています。
ご回答いただき、ありがとうございます。
resultr = 0.0、result = 0+0jとしても同じエラーが出るのですが、、、
resultr = [0.0] として下さい。
それと、
resultr[i] += in_fftr
は、
resultr += [in_fftr]
とする必要があります。もしくは result.append(in_fftr)
ありがとうございます。
ちなみに、print(in_fftr, in_ffti)を表示すると
1.0 2.0
2.0 3.0
3.0 4.0
1.0 2.0
2.0 3.0
3.0 4.0
1.0 2.0
2.0 3.0
3.0 4.0
となるのですが、これの実数部分を要素ごとに足した合計値をresultr[]の各要素に代入する、つまり、
resultr[0] = 1.0 + 1.0 + 1.0
resultr[1] = 2.0 + 2.0 + 2.0
resultr[2] = 3.0 + 3.0 + 3.0
にはどのようにすれば良いでしょうか?
回答1件
あなたの回答
tips
プレビュー