Menu
Coddy logo textTech

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 dans new_list. Cela peut être une version modifiée de item.
  • 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'actuel item doit être inclus dans new_list. L'expression est évaluée uniquement si la condition est True.

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).

challenge icon

Défi

Facile

Cré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 liste
  • for item in iterable : Boucle sur chaque élément
  • if 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 ici
quiz iconTestez-vous

Cette 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