Junior
Qu'est-ce que la compréhension de dictionnaires en Python ?
sobes.tech IA
Réponse de l'IA
Le générateur de dictionnaires (compréhension de dictionnaires) est une syntaxe compacte pour créer des dictionnaires basée sur un objet itérable. Il permet de générer des paires "clé: valeur" en utilisant des expressions et un filtrage optionnel.
Syntaxe :
# syntaxe de base
dict = {expression_clé: expression_valeur for élément in iterable}
# avec condition
dict = {expression_clé: expression_valeur for élément in iterable if condition}
Exemples :
Créer un dictionnaire des carrés des nombres de 0 à 4 :
# dictionnaire où la clé est le nombre et la valeur son carré
squares = {x: x**2 for x in range(5)}
# squares = {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
Créer un dictionnaire uniquement pour les nombres pairs :
# dictionnaire des carrés uniquement pour les nombres pairs
even_squares = {x: x**2 for x in range(10) if x % 2 == 0}
# even_squares = {0: 0, 2: 4, 4: 16, 6: 36, 8: 64}
Inverser clés et valeurs :
original_dict = {'a': 1, 'b': 2, 'c': 3}
# dictionnaire avec clés et valeurs inversées
inverted_dict = {value: key for key, value in original_dict.items()}
# inverted_dict = {1: 'a', 2: 'b', 3: 'c'}
Avantages :
- Concision : Plus compact que les boucles
foréquivalentes. - Lisibilité : Souvent un code plus clair pour des transformations simples.
- Efficacité : Peut être légèrement plus rapide que les boucles
fordans certains cas.
Inconvénients :
- Lisibilité pour des cas complexes : Pour une logique très complexe, cela peut devenir moins lisible.
- Absence d'effets secondaires : Non destiné à effectuer des actions autres que la création du dictionnaire (par exemple, imprimer quelque chose).