Trouver le caractère le plus fréquent dans une chaîne

J'ai trouvé ce problème de programmation tout en regardant une offre d'emploi sur. Je pensais que c'était assez intéressant et en tant que débutant en Python programmeur, j'ai tenté de l'aborder. Cependant, je sens que ma solution est très salissant......quelqu'un peut vous faire des suggestions pour l'optimiser ou de le rendre plus propre? Je sais que c'est assez trivial, mais j'ai eu plaisir à l'écrire. Remarque: La Version 2.6 De Python

Le problème:

Écrire en pseudo-code (ou code) pour une fonction qui prend une chaîne de caractères et retourne la lettre qui apparaît le plus dans cette chaîne.

Ma tentative:

import string

def find_max_letter_count(word):

    alphabet = string.ascii_lowercase
    dictionary = {}

    for letters in alphabet:
        dictionary[letters] = 0

    for letters in word:
        dictionary[letters] += 1

    dictionary = sorted(dictionary.items(), 
                        reverse=True, 
                        key=lambda x: x[1])

    for position in range(0, 26):
        print dictionary[position]
        if position != len(dictionary) - 1:
            if dictionary[position + 1][1] < dictionary[position][1]:
                break

find_max_letter_count("helloworld")

De sortie:

>>> 
('l', 3)

Mis à jour exemple:

find_max_letter_count("balloon") 
>>>
('l', 2)
('o', 2)

source d'informationauteur Sunandmoon