嵌套列表的调和平均值包含一些负值

时间:2019-03-02 12:39:44

标签: python-3.x

我必须找到包含一些负值的嵌套列表的调和平均值。我知道harmonicmean仅用于正值,那么该如何计算列表的谐波均值?

我尝试过:

x=[['a', 1, -3, 5], ['b', -2, 6, 8], ['c', 3, 7, -9]]  

import statistics as s
y=[s.harmonicmean(i[1:]) for i in x1]

但是我得到statistics.statisticserror的负值。

1 个答案:

答案 0 :(得分:0)

您可能想使用filter

filter将遍历列表的副本或任何可迭代的内容,同时过滤掉不满足特定条件的元素。请记住,我说的是“复制”;它不会改变传递给它的可迭代项。

例如:

>>> numbers = [-1, 2, 3]
>>> filter(lambda i: i >= 0, numbers)
[2, 3]

或者,如果您只需要绝对值,则可以使用map来迭代列表的副本或任何可迭代的内容,同时将函数应用于每个元素:

>>> map(abs, numbers)
[1, 2, 3]