-5
我有兩個列表,並想從相對列表中的相應元素中減去每個元素。當我寫這篇文章的代碼:爲什麼不通過這段代碼讓我減去python中的兩個列表?
list(map(sub, irrad_fore, irrad_exp))
我得到以下錯誤:
TypeError: unsupported operand type(s) for -: 'str' and 'str'
這是爲什麼?
我有兩個列表,並想從相對列表中的相應元素中減去每個元素。當我寫這篇文章的代碼:爲什麼不通過這段代碼讓我減去python中的兩個列表?
list(map(sub, irrad_fore, irrad_exp))
我得到以下錯誤:
TypeError: unsupported operand type(s) for -: 'str' and 'str'
這是爲什麼?
由於錯誤清楚說明,您不能直接扣除兩個str
。爲了實現這一點,您必須首先將str
對象轉換爲int
。取而代之的map()
,更好的辦法將是兩個名單寫列表理解與zip()
爲:
>>> a = ['1', '4', '7', '9']
>>> b = ['3', '3', '7', '11']
>>> [int(i) - int(j) for i, j in zip(a, b)]
[-2, 1, 0, -2]
你不能從一個字符串中減去一個字符串。將列表中的元素轉換爲整數,並且可以減去它們。 –