Ajouter des conditions
Fait partie de la section Logic & Flow du Journey Python de Coddy — leçon 52 sur 78.
Les compréhensions de liste deviennent encore plus puissantes lorsque vous ajoutez une logique conditionnelle. Cela vous permet de créer de nouvelles listes à partir de listes existantes, en filtrant et en transformant les éléments selon des conditions spécifiées.
La syntaxe pour ajouter une condition à une compréhension de liste est :
new_list = [expression for item in iterable if condition]Voici une décomposition de la syntaxe :
new_list: La nouvelle liste qui sera créée.
expression: la valeur à inclure dansnew_list. Cela peut être une version modifiée deitem.
for item in iterable: Une boucle qui itère sur chaque élément de l'iterable(par exemple, une liste, un tuple ou une plage).
item: L'élément actuel en cours de traitement dans la boucle.
if condition: un filtre qui détermine si l'actuelitemdoit être inclus dansnew_list. L'expressionest évaluée uniquement si laconditionestTrue.
Voici un exemple :
numbers = [1, 2, 3, 4, 5, 6]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
# Sortie : [2, 4, 6]Dans cet exemple, la compréhension de liste crée une nouvelle liste appelée evens en prenant chaque élément n de la liste numbers et en l'incluant uniquement s'il est pair (c'est-à-dire, n % 2 == 0).
Défi
FacileCréez une fonction nommée filter_and_square qui prend une liste de nombres numbers comme argument. La fonction doit utiliser une compréhension de liste pour créer une nouvelle liste qui inclut les carrés des seuls nombres positifs de la liste d'origine. La fonction doit retourner la nouvelle liste.
Aide-mémoire
Les compréhensions de liste avec une logique conditionnelle vous permettent de filtrer et de transformer des éléments en fonction de conditions spécifiées :
new_list = [expression for item in iterable if condition]expression: La valeur à inclure dans la nouvelle listefor item in iterable: Boucle sur chaque élémentif condition: Filtre qui détermine si l'élément doit être inclus
Exemple - filtrage des nombres pairs :
numbers = [1, 2, 3, 4, 5, 6]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
# Sortie : [2, 4, 6]Essayez vous-même
def filter_and_square(numbers):
# Écrire le code iciCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logic & Flow
1Exploration des variables
ConstantesAffectations multiplesÉchange de variablesVariables de substitutionArrondir des nombresCasting de listes4Application de carnet de contacts
Afficher le menuAjouter un contact7Ensembles Partie 2
Opérations mathématiques Partie 1Opérations mathématiques Partie 2Récapitulatif - Chasse au trésorSous-ensembles et sur-ensemblesItérer sur les ensemblesRécapitulatif - Suivi de tournoi10Compréhensions de listes basiques
La syntaxeCréer des listes simplesAjouter des conditionsUtiliser l'agrégation de donnéesRécapitulatif - House Of ListsRécapitulatif - Elements Of Freedom13Système de gestion des stocks
Présentation du projetAjouter un article2Les dictionnaires - Partie 1
Qu'est-ce qu'un dictionnaire ?Créer un dictionnaireAccéder aux valeursModifier des dictionnairesRécapitulatif - Gestionnaire de recettes5Prise de décision avancée
Opérateur ternaireVérifications d'appartenanceVérifications d'identitéErreurs d'indentationRécapitulatif - Filtre de vacances8Gestionnaire de dossiers étudiants
Présentation du projetAjouter un étudiant11Fonctions avancées
Retourner plusieurs valeursFonctions Lambda - Partie 1Fonctions Lambda - Partie 2Défi récapitulatif - Tri LambdaFonctions récursives - Partie 1Fonctions récursives - Partie 2Récapitulatif - Somme d'une liste imbriquée14Fonctions d'ordre supérieur
La fonction MapLa fonction FilterRécapitulatif - Validateur d'e-mailsRécapitulatif - Processeur de nombres3Dictionnaires - Partie 2
Méthodes de dictionnaireDictionnaires imbriquésVérification des clésParcourir les dictionnairesRécapitulatif - Compteur de fréquence6Les Ensembles - Partie 1
Qu'est-ce qu'un ensemble ?Opérations de baseMéthodes des ensemblesRécapitulatif - Supprimer les doublons9Agrégation de données avancée
Utilisation de SumTrouver le minimum et le maximumTrier les données efficacementRécapitulatif - Trieur de dictionnaires