gpt4 book ai didi

python - 你如何在 python 中找到带引号的数字列表的平均值?

转载 作者:IT王子 更新时间:2023-10-29 00:49:33 26 4
gpt4 key购买 nike

我有两种类型的列表。第一个没有引号,有效并打印平均罚款:

l = [15,18,20]
print l
print "Average: ", sum(l)/len(l)

这打印:

[15,18,20]
Average: 17

第二个列表包含引号的数字,返回错误:

x = ["15","18","20"]
print x
print "Average: ", sum(x)/len(x)

错误是:

TypeError: unsupported operand type(s) for +: 'int' and 'str'

如何计算引号内包含数字值的列表?

最佳答案

引号意味着你有一个字符串列表:

>>> x = ["15","18","20"]
>>> type(x[0])
<type 'str'>
>>>

sum 仅适用于数字列表(整数如 1 或 float 如 1.0)。

要解决您的问题,您必须首先将字符串列表转换为整数列表。您可以使用内置的 map function为此:

x = ["15","18","20"]
x = map(int, x)

或者,您可以使用 list comprehension (许多 Python 程序员更喜欢):

x = ["15","18","20"]
x = [int(i) for i in x]

下面是一个演示:

>>> x = ["15","18","20"]
>>> x = map(int, x)
>>> x
[15, 18, 20]
>>> type(x[0])
<type 'int'>
>>> sum(x) / len(x)
17
>>>

关于python - 你如何在 python 中找到带引号的数字列表的平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26983111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com