我必须找到包含一些负值的嵌套列表的调和平均值。我知道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]