Aide-mémoire pour la compréhension de Python
Rédigez des compréhensions concises et lisibles de listes, de dictionnaires, d'ensembles et de générateurs en Python.
Compréhensions de listes et d’ensembles
Création de séquences et d'ensembles en ligne à l'aide de boucles de sucre syntaxiques.
| Méthode / Fonction | Syntaxe | Descriptif |
|---|---|---|
| List Comprehension | [x * 2 for x in my_list] | Construit une nouvelle liste en appliquant des expressions sur les éléments d'un itérable. |
| Conditional List | [x for x in my_list if x > 0] | Applique un prédicat de filtre, en conservant uniquement les éléments qui satisfont à la condition. |
| Nested Loops | [x + y for x in list1 for y in list2] | Aplatit les opérations imbriquées. Exécute des boucles internes pour chaque itération de boucle externe. |
| Set Comprehension | {x for x in my_list} | Génère un ensemble en appliquant automatiquement la déduplication. |
Compréhensions du dictionnaire et du générateur
Génération de mappages et de flux d'évaluation paresseuse en ligne.
| Méthode / Fonction | Syntaxe | Descriptif |
|---|---|---|
| Dict Comprehension | {k: v for k, v in pairs} | Construit un dictionnaire en ligne. |
| Conditional Dict | {k: v for k, v in pairs if k is not None} | Construit un dictionnaire en ignorant les valeurs indésirables. |
| Generator Expression | (x ** 2 for x in range(10)) | Renvoie un objet itérateur générateur paresseux. Évalue les éléments un par un pour conserver la mémoire. |
Script de démonstration interactif
# List Comprehension
[x * 2 for x in my_list]
# Conditional List
[x for x in my_list if x > 0]
# Nested Loops
[x + y for x in list1 for y in list2]
# Set Comprehension
{x for x in my_list}
# Dict Comprehension
{k: v for k, v in pairs}
# Conditional Dict
{k: v for k, v in pairs if k is not None}
# Generator Expression
(x ** 2 for x in range(10))Foire aux questions
Quand dois-je éviter d’utiliser les compréhensions de listes ?
Évitez les compréhensions de listes si elles sont trop complexes ou comportent plusieurs boucles imbriquées, car cela réduit la lisibilité du code.
Quelle est la différence entre une compréhension de liste et une expression génératrice ?
Les compréhensions de liste sont évaluées immédiatement et construisent la liste en mémoire, tandis que les expressions génératrices génèrent des éléments paresseusement à la demande, économisant ainsi de la mémoire.
Sujets connexes
Maîtrisez les instructions conditionnelles, les boucles et les structures de contrôle de boucle en Python. Apprenez si-sinon, pendant, pendant, faites une pause et continuez.
Aide-mémoire sur les fonctions intégrées PythonGuide de référence des fonctions intégrées de Python. Apprenez à utiliser print, len, range, enumerate, zip, map, filter, etc.
Aide-mémoire sur les collections et structures de données PythonGuide complet du module de collections Python et des structures de données natives. Apprenez les listes, les dictés, les ensembles, les tuples, les deques et les tuples nommés.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Compréhensions Python
Écrivez du Python plus propre et plus rapide. Liste principale, dictionnaire et compréhensions d'ensembles avec des exemples pratiques, des conditions de filtrage et des boucles imbriquées.
Comment trier une liste en Python
Apprenez à trier une liste en Python à l'aide de la méthode sort() et de la fonction sorted(). Découvrez des exemples de tri de clés personnalisé et d’ordre inverse.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.