我需要制作一个程序,取一个数字列表的中位数,然后找到中间数字[重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

我有一个问题,我需要包含的内容之一是中位数的下标,但我不知道这意味着什么

我已经尝试了大多数事情,但我再也不知道中位数的下标是什么意思。

def median(a):
    a=a.sort()
    a=len(a)/2
    return a

def main():
    print(median([3,1,2]))
    print(median([4,3,2,1]))
    print(median([1,5,3,2,4]))
    print(median([6,5,1,2,3,4]))

main()

我希望它打印出数字的中位数,如果它得到两个我需要较小的...我们不能使用平均值。

python function subscript
1个回答
0
投票

您将返回中间索引,而不是该索引处元素的值。

此外,a.sort()修改了列表,它不返回排序列表; a = a.sort()对列表进行排序,然后将a设置为None

def median(a):
    s = sorted(a)
    middle = int(len(s)/2)
    return s[middle]

© www.soinside.com 2019 - 2024. All rights reserved.