Motif 1 — Compter la fréquence des choses
C'est le tout premier motif que vous rencontrerez — et vous l'utiliserez tout le temps. La bonne nouvelle ? Ce n'est que compter. Rien d'effrayant ici.
L'idée, en une ligne
Comptez combien de fois chaque chose apparaît. Puis répondez à la question en regardant vos comptes. Voilà tout le motif. Il a un vrai nom que les examinateurs utilisent — comptage de fréquence — donc ça vaut la peine de le retenir.
Quand en aurez-vous besoin ?
Chaque fois qu'une question porte sur combien de fois quelque chose arrive. Ces mots sont votre signal :
- anagramme — mêmes lettres, juste réarrangées
- doublon — quelque chose qui apparaît plus d'une fois
- le plus fréquent — la chose qui apparaît le plus
- premier unique — la première chose qui n'apparaît qu'une fois
Voyez-le à l'œuvre
Python vous donne un compteur tout prêt appelé Counter. Vous lui passez un mot ou une liste, et il fait tout le pointage pour vous.
from collections import Counter
# Count the letters in each word
a = Counter("listen") # l:1, i:1, s:1, t:1, e:1, n:1
b = Counter("silent") # s:1, i:1, l:1, e:1, n:1, t:1
# Same letters, same counts? Then they're anagrams.
print(a == b) # TrueLisez-le de haut en bas : vous avez compté les lettres de chaque mot, puis vérifié si les deux comptes correspondaient. C'est tout ce qu'est une vérification d'anagramme.
Le même truc répond à trois questions
- Anagramme ? — les deux comptes sont égaux
- Doublon ? — tout élément dont le compte dépasse 1
- Premier unique ? — le premier élément dont le compte est exactement 1
Avancé — pourquoi compter est la voie rapide
Vous pourriez être tenté de comparer chaque élément avec chaque autre. Ça marche, mais c'est lent. Compter regarde chaque élément une seule fois, ce qui est bien plus rapide.
Basé sur la doc Python officielle (collections.Counter)