Python |中位数是排序后的数字序列中的中间数
错误发生在:Python |中位数是排序后的数字序列中的中间数,python,Python,错误发生在:print sum(len(lst)/2) 为什么不起作用?您需要将打印总和(len(lst)/2)替换为: TypeError: 'int' object is not iterable 因为你想要的是占据列表的中间元素。错误的是,不是在数字列表中求和,而是在数字上求和。如果要使用求和符号,可以执行以下操作: print lst[len(lst) / 2] 意思是将数字包含在列表中。为什么不使用内置功能 print sum([lst[len(lst)//2]]) 以上摘自本帖
print sum(len(lst)/2)
为什么不起作用?您需要将打印总和(len(lst)/2)替换为:
TypeError: 'int' object is not iterable
因为你想要的是占据列表的中间元素。错误的是,不是在数字列表中求和,而是在数字上求和。如果要使用求和符号,可以执行以下操作:
print lst[len(lst) / 2]
意思是将数字包含在列表中。为什么不使用内置功能
print sum([lst[len(lst)//2]])
以上摘自本帖:
或者,如果你必须用艰难的方式来做:
>>> from statistics import median
>>> median([1, 3, 5])
也从同一个帖子…
我指打印和(LST [LeN(LST)/ 2 ]。意思是我想要列表中间索引中的值。例如,如果我的列表长度为13,我就可以看到索引的值。6@OmerMichleviz:为什么要对单个数字求和?定义中值(lst):lst.sort(),而lst>0:if len(lst)%2==0:return sum(lst[len(lst)-1:len(lst)]else:return lst[len(lst)/2.0]else:return 1在发布任何代码之前,您可以通过介绍问题和当前解决问题的方法来改进此问题。>>> from statistics import median
>>> median([1, 3, 5])
def median(a):
ordered = sorted(a)
length = len(a)
return float((ordered[length/2] + ordered[-(length+1)/2]))/2