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

我有两种类型的列表.第一个没有引号,工作和打印平均罚款:

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])

>>>

sum仅适用于数字列表(整数,如1或浮点数,如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])

>>> sum(x) / len(x)

17

>>>

标签:python,unix,linux

来源: https://codeday.me/bug/20190713/1453963.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值