1. 程式人生 > >python返回一個列表中出現次數最多的元素

python返回一個列表中出現次數最多的元素

有好幾種辦法,由麻煩到簡單慢慢來

lt = ['小馬', '小敏', '小喬', '小敏', '小杜', '小杜', '小孟', '小敏']
def max_count(lt):
    # 定義一個字典,用於存放元素及出現的次數
    d = {}
    # 記錄最大的次數的元素
    max_key = None
    # 遍歷列表,統計每個元素出現的次數,然後儲存到字典中
    for i in lt:
        if i not in d:
            # 計算元素出現的次數
            count = lt.count(i)
            # 儲存到字典中
            d[i] = count
            # 記錄次數最大的元素
            if count > d.get(max_key, 0):
                max_key = i
    return max_key
print(max_count(lt))

下面來個一行程式碼解決

# 直接統計
print(max(lt, key=lt.count))

再來一種

from collections import Counter
c = Counter(lt)
# print(dict(c))
print(c.most_common(1)[0][0])