Bir sayı dizisindeki en çok geçen sayıyı(Modunu) bulma

Merhabalar bir sayı dizisinde en çok geçen sayıyı bulmak için bir algoritma geliştirdim. Bu kodu nasıl daha iyi yazabilirim? Bu sayede daha fazla bir bilgi edinmiş olabileceğimi düşünüyorum.

Kod:

def Mod(list1):

    tekrar = dict()

    for i in list1:

        en_cok = 1

        

        if i in tekrar:

            en_cok = tekrar[i] + 1

            tekrar[i] = en_cok

        

        else:

            tekrar[i] = en_cok

    maximum = max(tekrar.values())

    for i in tekrar.items():

        if i[1] == maximum:

            mod = i[0]

            return mod

Şöyle yazabiliriz:

def mod(iterable):
    tekrar = {}
    for i in iterable:
        tekrar.setdefault(i, 0)
        tekrar[i] += 1
    return max(tekrar, key=tekrar.__getitem__)

Aradığınız fonksiyon standart kütüphanede de var:

>>> import statistics
>>> statistics.mode([1, 2, 3, 2])
2
>>> 
3 Beğeni