我需要使用Python在数字列表中找到修剪后的平均值。
我需要数字列表的平均值减去该列表中的最大值和最小值。 例如。 list = 10,20,30 40.我需要得到20和30的平均值。
到目前为止,我有:
print "The ordered list is:", sorted(list)
u = list[1:-1]
u = list[1:-1]
print "These numbers trimmed are:",u
print "The trimmed mean is:",sum(u)/l(u)
l =列表的长度,然而这给我留下了一个错误:
print“修剪后的平均值为:”,sum(u)/ l(u) TypeError:'int'对象不可调用
但是这个
答案 0 :(得分:1)
def trimmed_mean(lst):
trimmed_lst = sorted(lst)[1:-1]
return sum(trimmed_lst) / len(trimmed_lst)
然后
>>> trimmed_mean([10, 20, 30, 40])
25.0
答案 1 :(得分:0)
替换这个:
sum(u)/l(u)
为:
sum(u)/len(u)
一些更改:使用list
作为变量名称是不好的做法,因为列表是在python中内置的
my_list = sorted(my_list)
print "The ordered list is:", my_list
u = my_list[1:-1] # you need this only once
print "These numbers trimmed are:",u
print "The trimmed mean is:",sum(u)/len(u)