Pour comprendre ce qui se passe, nous allons prendre une lettre(répété plusieurs fois) dans la phrase de chaîne et de suivre ce qui se passe quand il passe à travers la boucle.
Rappelez-vous que nous avons commencer avec un vide caractères dictionnaire
characters = {}
Je vais choisir la lettre "e". Nous allons passer le caractère 'e' (qui se trouve dans la parole de L') pour la première fois dans la boucle. Je vais supposer que c'est le premier personnage à passer à travers la boucle et je vais remplacer les variables par leurs valeurs:
for 'e' in "The quick brown fox jumped over the lazy dog.":
{}['e'] = {}.get('e', 0) + 1
des personnages.get('e', 0) indique à python de rechercher la touche 'e' dans le dictionnaire. Si il ne l'est pas, elle retourne 0. Puisque c'est la première fois que le 'e' est passé au travers de la boucle, le caractère 'e' n'est pas trouvé dans le dictionnaire, de sorte que le obtenir la méthode retourne 0. Cette valeur 0 est ensuite ajouté à l' 1 (présent dans les caractères[personnage] = caractères.obtenir(caractère,0) + 1l'équation).
Après la fin de la première boucle à l'aide de la " e " de caractère, nous avons maintenant une entrée dans le dictionnaire comme ceci: {'e': 1}
Le dictionnaire est maintenant:
characters = {'e': 1}
Maintenant, nous allons passer à la deuxième " e " (qui se trouve dans le mot sauté) par le biais de la même boucle. Je vais supposer que c'est le deuxième personnage à passer à travers la boucle et je vais mettre à jour les variables avec leurs valeurs nouvelles:
for 'e' in "The quick brown fox jumped over the lazy dog.":
{'e': 1}['e'] = {'e': 1}.get('e', 0) + 1
Ici l' obtenir méthode trouve une clé d'entrée pour les " e " et trouve sa valeur est 1.
Nous ajoutons ceci à l'autre 1 en nombre de caractères.obtenir(caractère, 0) + 1 2 comme résultat.
Lorsque nous appliquons ce dans les caractères[personnage] = caractères.obtenir(caractère, 0) + 1 l'équation:
characters['e'] = 2
Il devrait être clair que la dernière équation assigne une nouvelle valeur 2 à la déjà présents touche 'e'.
Par conséquent, le dictionnaire est maintenant:
characters = {'e': 2}