Dans le domaine de la programmation, la « compréhension de liste » est une technique concise mais puissante pour créer des listes. Son élégance et sa simplicité en ont fait une pierre angulaire de la programmation Python.
Comme son nom l'indique, une compréhension de liste est une manière concise de générer une liste. Il prend la forme suivante :
[expression for item in sequence if condition]
Où :
Considérons le fragment de code suivant :
[x ** 2 for x in range(10)]
Cette compréhension de liste génère une liste des carrés de nombres de 0 à 9. Elle le fait en appliquant l'expression x ** 2 ( calculant le carré de chaque nombre) à chaque élément x dans la plage de séquence (10) (une plage de nombres de 0 à 9). Le résultat est une liste [0, 1, 4, 9, 16, 25, 36, 49, 64, 81].
Ensemble de compréhensions :
Si vous désirez un ensemble (une collection non ordonnée d'éléments uniques) au lieu d'une liste, vous pouvez utiliser set compréhensions :
{i for i in range(10) if i % 2 == 1}
Cette expression produit un ensemble de nombres impairs de 0 à 9, à savoir set({1, 3, 5, 7, 9}).
Dict Compréhensions :
Les compréhensions de dict vous permettent de créer un dictionnaire basé sur la valeur-clé paires :
{i: i ** 2 for i in range(5)}
Cette compréhension génère un dictionnaire où les clés et les valeurs sont respectivement des nombres de 0 à 4 et leurs carrés : dict({0 : 0, 1 : 1, 2 : 4, 3 : 9 , 4 : 16}).
Expressions génératrices :
Expressions génératrices renvoie un objet générateur, qui permet une évaluation paresseuse et une efficacité de la mémoire :
(i for i in range(5))
Cette expression génère un générateur qui itère sur les nombres de 0 à 4, les produisant un à la fois.
Les compréhensions offrent plusieurs avantages par rapport aux boucles for traditionnelles :
Les compréhensions de listes, ainsi que leurs variations (ensembles, dict et expressions génératrices), sont outils essentiels pour les programmeurs Python. Leur brièveté, leur clarté et leur efficacité les rendent inestimables pour un large éventail de tâches de programmation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!