Can';t在Python中对字符串列表求和?
我只想打印我输入到列表中的数组值的长度和总和 这是我的密码:Can';t在Python中对字符串列表求和?,python,list,sum,Python,List,Sum,我只想打印我输入到列表中的数组值的长度和总和 这是我的密码: arr = list() for x in range(1,6): print("Enter num ", x ," :") name = input() arr.append(name) print ("ARRAY: ",arr) l = len(arr) s = sum(arr) print (int(l,s)) 输出为: ARRAY: ['4', '2', '3', '4', '6']
arr = list()
for x in range(1,6):
print("Enter num ", x ," :")
name = input()
arr.append(name)
print ("ARRAY: ",arr)
l = len(arr)
s = sum(arr)
print (int(l,s))
输出为:
ARRAY: ['4', '2', '3', '4', '6']
Traceback (most recent call last):
File "main.py", line 8, in <module>
s = sum(arr)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
数组:['4','2','3','4','6']
回溯(最近一次呼叫最后一次):
文件“main.py”,第8行,在
s=总和(arr)
TypeError:不支持+:“int”和“str”的操作数类型
试试这个:
arr = list()
for x in range(1,6):
print("Enter num ", x ," :")
name = int(input())
arr.append(name)
print ("ARRAY: ",arr)
l = len(arr)
s = sum(arr)
print (l,s)
您的代码有两个问题
- 返回一个字符串,因此需要将其转换为整数,然后才能对值进行求和
- 这个
实际上没有任何意义。如果您查看的文档,可以看到您正在传递打印(int(l,s))
作为函数的基,但它将失败,因为只有在第一个agment是字符串时才能指定基s
x
:
arr = list()
for x in range(1, 6):
name = int(input(f"Enter num {x}: "))
arr.append(name)
print("ARRAY: ", arr)
l = len(arr)
s = sum(arr)
print(l, s)
将字符串数组转换为int数组,然后求和谢谢你,阿尔宾,我是python编程新手。你能帮我在我的脚本中如何从字符串数组转换为int数组吗?严格来说,你应该能够对字符串列表求和(使用合适的初始值),除非
sum
是硬编码以防止它sum(['4','2'],'')
应该返回'42'
,就像sum([[4],[2]],[])
可以返回[4,2]
。这不是一个武断的决定——它推荐的“”。join(x)
比sum(x,”)
要有效得多——但是,纯粹出于性能原因禁止一个完全逻辑的操作仍然很烦人。(更糟糕的是,我没有理由认为sum
不能简单地执行''。如果它检测到试图对字符串求和,则连接(x)
本身。)是的,它可以工作,但我只从最后一行中删除int:print(int(l,s))print(l,s)