Explication de la leçon
Après cette leçon, tu seras capable de :
.append()..get().Les boucles peuvent construire une collection, et pas seulement afficher ses valeurs. Commence avec une destination vide, puis ajoute des valeurs au fur et à mesure que tu traites la source. Pour une liste, utilise .append() pour ajouter chaque résultat sélectionné tout en préservant son ordre d'apparition.
Le filtrage utilise une condition à l'intérieur de la boucle : certains éléments sources sont ajoutés et d'autres sont ignorés. Conserve la collection d'entrée inchangée lorsqu'elle représente des données dont tu pourrais avoir besoin plus tard ; modifier une liste tout en itérant sur cette même liste peut sauter des éléments de manière inattendue.
Un dictionnaire est utile pour les décomptes et les regroupements. counts.get(key, 0) récupère le décompte actuel ou démarre à zéro. Pour le regroupement, initialise une liste la première fois qu'une catégorie apparaît, puis ajoute ses éléments. Tu combines ainsi les méthodes des leçons précédentes avec les fonctions, conditions et boucles de l'Unité 1.
raw_regions = [" EU ", "Us", " APAC "]
regions = []
for region in raw_regions:
regions.append(region.strip().lower())
print(regions)Sortie :
['eu', 'us', 'apac']Chaque valeur nettoyée est ajoutée à la nouvelle liste.
scores = [31, 0, 18, -3]
valid_scores = []
for score in scores:
if score >= 0:
valid_scores.append(score)
print(valid_scores)Sortie :
[31, 0, 18]La source reste intacte ; seules les valeurs valides entrent dans le résultat.
states = ["open", "closed", "open"]
counts = {}
for state in states:
counts[state] = counts.get(state, 0) + 1
print(counts["open"])Sortie :
2La valeur de repli démarre une clé non encore vue à zéro.
requests = [("api", "urgent"), ("worker", "normal"), ("mail", "urgent")]
groups = {}
for service, category in requests:
if category not in groups:
groups[category] = []
groups[category].append(service)
print(groups["urgent"])Sortie :
['api', 'mail']Un dictionnaire regroupé combine une clé avec une liste ordonnée de valeurs correspondantes.
| Objectif | Schéma |
|---|---|
| Démarrer une liste de sortie | results = [] |
| Ajouter la valeur sélectionnée suivante | results.append(value) |
| Filtrer les valeurs | if condition: à l'intérieur d'une boucle |
| Mettre à jour un compteur | counts[key] = counts.get(key, 0) + 1 |
| Démarrer une nouvelle catégorie | groups[key] = [] |
KeyError.