Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python |中位数是排序后的数字序列中的中间数_Python - Fatal编程技术网

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