求列表中位數Python

2021-10-09 02:29:26 字數 555 閱讀 4173

給你乙個整數列表l, 輸出l的中位數(若結果為小數,則保留一位小數)。

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

則輸出:2

題目**於pythontip,中位數的計算取決於元素的個數,如果元素個數為奇數個,直接取中間的下標即可,如果為偶數,需要計算中間兩個的和,再取平均值。但是python需要注意整除和除法與其他語言不一樣。

def solve_it():

l.sort()

if len(l) % 2 == 0:

sub = l[len(l) // 2 - 1] + l[len(l) // 2]

if sub % 2 == 0:

result = sub // 2

else:

result = round(sub/2.0, 1) # 這裡需要注意,除以2.0,或者可以乘以0.5,但是不能除以2,原因未知

else:

result = l[len(l) // 2]

return result

print(solve_it())

python列表中位數的獲取

中位數是乙個可將數值集合劃分為相等的上下兩部分的乙個數值。如果列表資料的個數是奇數,則列表中間那個資料就是列表資料的中位數 如果列表資料的個數是偶數,則列表中間那2個資料的算術平均值就是列表資料的中位數。在這個任務裡,你將得到乙個含有自然數的非空陣列 x 你必須把它分成上下兩部分,找到中位數。輸入 ...

求中位數總結

今天在某個群中看到有人問在流式的資料中如何動態的維護中位數的方法,因為之前看到同學的乙個問題,當時他沒答出來。但是後來了解到類似top k last k 需要用到最大堆,最小堆一樣,中位數需要利用雙堆維護一下。先複習一下,如果是靜態的資料求取中位數的方法有哪些呢?1 排序 2 fink k 這兩種方...

Problem B 求中位數

實驗8 problem b 求中位數 description 中位數 medians 是乙個統計學名詞,是指將統計總體當中的各個資料的值按大小順序排列起來,形成乙個數列,處於變數數列中間位置的值就稱為中位數。當資料的項數n為奇數時,處於中間位置的資料值即為中位數 當n為偶數時,中位數則為處於中間位置...