首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -从列表中列出不同的len -“不支持的操作数类型(S)表示+:'int‘和' List’

Python -从列表中列出不同的len -“不支持的操作数类型(S)表示+:'int‘和' List’
EN

Stack Overflow用户
提问于 2021-03-14 16:55:00
回答 2查看 159关注 0票数 1

当我试图运行下面的代码时,我收到

不支持的操作数类型为+:'int‘和’list‘

我需要把清单上的物品加起来。

Python代码:

代码语言:javascript
复制
 !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)  

示例:

代码语言:javascript
复制
 inputs_1 =[1, 2, 3]  
 inputs_2 =[1, 2]  

预期结果是[2,4,3]

代码语言:javascript
复制
 inputs_1 =[3, 2, 3]  
 inputs_2 =[4, 2, 2]  

预期结果是[7,4,5]

EN

回答 2

Stack Overflow用户

发布于 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], ],然后尝试对其执行添加。

票数 0
EN

Stack Overflow用户

发布于 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)。

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66627171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档