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

在python中,如何找到带引号的数字列表的平均值?,python,linux,unix,Python,Linux,Unix,我有两种类型的列表。第一个不带引号,该工作并打印平均罚款: 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

我有两种类型的列表。第一个不带引号,该工作并打印平均罚款:

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'

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

首先需要将它们转换为
int

x = ["15","18","20"]
print sum(map(int,x))/len(x)

此处
map
将x的每个元素映射为整数类型

引号表示您有一个字符串列表:

>>> x = ["15","18","20"]
>>> type(x[0])
<type 'str'>
>>>
或者,您可以使用(许多Python程序员更喜欢):

下面是一个演示:

>>> x = ["15","18","20"]
>>> x = map(int, x)
>>> x
[15, 18, 20]
>>> type(x[0])
<type 'int'>
>>> sum(x) / len(x)
17
>>>
x=[“15”、“18”、“20”] >>>x=映射(int,x) >>>x [15, 18, 20] >>>类型(x[0]) >>>总和(x)/长度(x) 17 >>>
你需要记住除以列表的
len
,我已经挠头很久了。谢谢你,伙计@你又回来了!谢谢你的帮助,伙计,这很好用@黑客狂
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
>>>
print "Average of {list} is: {avg}".format(
    list=l,
    avg=sum(int(x) for x in l) / len(l),
)