Python 练习

1. 题目

给你一个整数列表 L, 输出 L 的中位数。

例如:L=[0,1,2,3,4]

则输出:2

2. 分析

中位数,又称中点数,中值。

中位数是按顺序排列的一组数据中居于中间位置的数,即在这组数据中,有一半的数据比他大,有一半的数据比他小,这里用 \(m_{0.5}\) 来表示中位数。

注意:中位数和众数不同,众数指最多的数,众数有时不止一个,而中位数只能有一个。

有一组数据:

\(X_1,...,X_N\)

将它按从小到大的顺序排序为:

\(X_{(1)},...,X_{(N)}\)

则当 N 为奇数时,

\(m_{0.5}=\frac{X_{(N+1)}}{2}\)

当 N 为偶数时,

\(m_{0.5}=\frac{X_{(\frac{N}{2})}+X_{(\frac{N}{2}+1)}}{2}\)

一个数集中最多有一半的数值小于中位数,也最多有一半的数值大于中位数。如果大于和小于中位数的数值个数均少于一半,那麽数集中必有若干值等同于中位数。

3. 实例

点我看答案
L = [0, 1, 2, 3, 4]
L.sort()

if len(L) % 2 == 0:
    print((float((L[int(len(L)/2)])+float(L[(int(len(L)/2-1))])))/2)
else:
    print(L[int(len(L)/2)])

© 2022 刘士. All rights reserved.

结果匹配 ""

    没有匹配的结果 ""