当我试图运行下面的代码时,我收到
不支持的操作数类型为+:'int‘和’list‘
我需要把清单上的物品加起来。
Python代码:
!pip install more-itertools
import itertools as it
input_total=[]
inputs_1 = input().split()
inputs_1 = list(map(int, inputs_1))
inputs_2 = input().split()
inputs_2 = list(map(int, inputs_2))
input_total.append([inputs_1, inputs_2])
result = [sum(x) for x in it.zip_longest(*input_total, fillvalue=0)]
print(result) 示例:
inputs_1 =[1, 2, 3]
inputs_2 =[1, 2] 预期结果是[2,4,3]
inputs_1 =[3, 2, 3]
inputs_2 =[4, 2, 2] 预期结果是[7,4,5]
发布于 2021-03-14 17:07:21
将input_total.append([inputs_1, inputs_2])更改为input_total += [inputs_1, inputs_2]
您在input_total中添加了列表列表,因此它看起来像input_total = [[inputs_1, inputs_2], ],然后尝试对其执行添加。
发布于 2021-03-14 17:07:30
input_total.append([inputs_1, inputs_2])使input_total成为一个嵌套列表(可以自己查看print(input_total))。
然后,[sum(x) for x in it.zip_longest(*input_total ...)尝试将两个列表与默认值0相加,这就是导致错误的原因。
如果您不想让input_total成为嵌套列表,那么将input_total.append([inputs_1, inputs_2])更改为`input_total = inputs_1,inputs_2)。
import itertools as it
inputs_1 = input().split()
inputs_1 = list(map(int, inputs_1))
inputs_2 = input().split()
inputs_2 = list(map(int, inputs_2))
input_total = [inputs_1, inputs_2]
result = [sum(x) for x in it.zip_longest(*input_total, fillvalue=0)]
print(result)https://stackoverflow.com/questions/66627171
复制相似问题