我有一個基本的問題:
有兩個名單a1
和b1
。 如果我打印出一個項目每個列表中,這將是一個float number
,但是當我在一個循環中使用a1[i]*b1[i]
,它給出了一個錯誤:列表項不能相乘
TypeError: can't multiply sequence by non-int of type 'float'
這是爲什麼?
我有一個基本的問題:
有兩個名單a1
和b1
。 如果我打印出一個項目每個列表中,這將是一個float number
,但是當我在一個循環中使用a1[i]*b1[i]
,它給出了一個錯誤:列表項不能相乘
TypeError: can't multiply sequence by non-int of type 'float'
這是爲什麼?
a1
或b1
不是浮動列表,而是浮動列表列表。
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'
謝謝大家,發現錯誤! – Fred
Think @Gille可能會得到你的錯誤。
如果你想要在你的循環做的是乘法項合計,快速的方法是使用numpy的數組:
import numpy as np
result = np.multiply(a1,b1)
如果需要轉換回一個列表:
result = list(result)
什麼語言,我們可以看到代碼? –
添加您的代碼快照,將有所幫助 –
對不起,我忘了提及! Python是唯一的,這裏是代碼段: – Fred