Bootcamp de logique · Leçon 1 sur 5

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.

Par Shahriyar · Mis à jour

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 :

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.

▸ try it
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)   # True

Lisez-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

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)

Toutes les leçons de Bootcamp de logique

  1. Motif 1 — Compter la fréquence des choses
  2. Motif 2 — Deux pointeurs
  3. Motif 3 — Fenêtre glissante
  4. Motif 4 — Arithmétique d'indices & parcours de matrices
  5. Les essentiels de la POO — classes, héritage, méthodes magiques, décorateurs