Python 小練習 求list內中間數

bestallen發表於2016-06-24

題目要求:佇列表內的數字求中間數

如果列表內元素數量為奇數,則排序後取排序位置最中間的數值。

如果列表內元素數量為偶數,則取排序後排序位置最中間的2個數值的平均數


程式碼如下:

def median(s):
    n=len(s)                   #計算列表內元素數量
    if n==1:                   #這個要非常注意,當元素只有一個的時候,直接取值
        return s[0]         
    elif n%2!=0:               #如果元素數量為奇數
        m=sorted(s)            #排序一下
        mid=m[(n-1)//2]        #中間值等於元素總數量減一以後除以2,記得要用//
        return mid
    else:
        m=sorted(s)               
        mid=float(m[n//2-1]+m[n//2])/2  #如果是偶數,取元素數量//2後減一位的那個值,以及元素數量//2的那個值,記得最後要用float,不然沒有小數點
        return mid




相關文章