找到列表的平均值

时间:2016-11-02 01:08:01

标签: python-2.7

我试图计算Python 2.7上的'奇怪'列表平均值。 清单是:

list = ['', '0.00066', '0.00066', '0.00066', '0.00066']

我用来获得总和的cmd:reduce(lambda x, y: x + y, list) 但我的回复错误:列表总和是:0.000660.000660.000660.00066

请告知如何获得列表的平均值。

1 个答案:

答案 0 :(得分:0)

您需要将字符串转换为float,并且空字符串会引发错误。幸运的是,您可以在转换前过滤掉空白。

>>> list = ['', '0.00066', '0.00066', '0.00066', '0.00066']
>>> reduce(lambda x, y: x + y, (float(i) for i in list if i))
0.00264

顺便说一句,python具有可以在这种情况下使用的运算符的功能版本。当然,sum已经是专门用来添加内容的。

>>> import operator
>>> reduce(operator.add, (float(i) for i in list if i))
0.00264
>>> sum(float(i) for i in list if i)
0.00264