我需要制作一个程序,该程序将数字列表的中位数作为参数,然后找到中间的数字

时间:2019-04-18 17:56:37

标签: python function subscript

我有一个问题,我需要包括的一件事是中位数的下标,但是我不知道那是什么意思

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

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()

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

1 个答案:

答案 0 :(得分:0)

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

此外,a.sort()修改列表,使其不返回已排序的列表。 a = a.sort()对列表进行排序,然后将a设置为None

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