在Python中,如何使用sum()函数处理列表?

2024-04-26 13:02:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做作业,它要求我使用sum()和len()函数来查找输入数字列表的平均值,当我试图使用sum()来获取列表的和时,我得到了一个错误类型error:不支持的+操作数类型:“int”和“str”。以下是我的代码:

numlist = input("Enter a list of number separated by commas: ")

numlist = numlist.split(",")

s = sum(numlist)
l = len(numlist)
m = float(s/l)
print("mean:",m)

Tags: 函数代码类型列表inputlen错误数字
3条回答

你在加字符串,而不是数字,这就是你的错误信息所说的。

将每个字符串转换为其各自的整数:

numlist = map(int, numlist)

然后取平均值(注意,我使用float()的方式与您不同):

arithmetic_mean = float(sum(numlist)) / len(numlist)

你想在分割前使用float(),作为float(1/2) = float(0) = 0.0,这不是你想要的。

另一种选择是,首先让它们全部float

numlist = map(float, numlist)

问题是你有一个字符串列表。在计算和之前,需要将它们转换为整数。例如:

numlist = numlist.split(",")
numlist = map(int, numlist)
s = sum(numlist)
...

问题是,当您从输入中读取时,您有一个字符串列表。你可以这样做作为你的第二行:

numlist = [float(x) for x in numlist]

相关问题 更多 >