基本的な質問
があります: と という名前の 2 つのリストがありa1
ますb1
。各リストの 1 つの項目を出力すると、 になりますが、ループで float number
使用するとエラーが発生します。a1[i]*b1[i]
TypeError: can't multiply sequence by non-int of type 'float'
何故ですか?
a1
またははfloatb1
のリストではなく、float のリストのリストです。
a1=[1.234, 1.234];
a2=[1.234, 1.234];
>>> a1[0]*a2[0]
1.522756
a3=[[1.234], [1.234]];
>>> a1[0]*a3[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'
@Gille がおそらくエラーになったと思います。
ループ内で複数のエントリをまとめて実行するだけの場合は、numpy 配列を使用するのが手っ取り早い方法です。
import numpy as np
result = np.multiply(a1,b1)
必要に応じてリストにキャスト バックします。
result = list(result)