Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Compréhension de Dictionnaire avec Condition | Compréhensions de Listes et de Dictionnaires
Tutoriel sur les Boucles en Python

bookCompréhension de Dictionnaire avec Condition

Il est possible d’ajouter une condition dans une compréhension de dictionnaire afin de filtrer dynamiquement les éléments lors de la création du dictionnaire. La syntaxe d’une compréhension de dictionnaire avec condition est la suivante :

{key_expression: value_expression for item in iterable if condition}
12345678910111213141516
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Filter destinations within a $2500 budget using a for loop affordable_destinations = {} for city, country, budget in travel_wishlist: if budget <= 2500: # Check if the budget is within the limit affordable_destinations[city] = budget print(affordable_destinations)
copy

Ce code parcourt la liste travel_wishlist, en vérifiant si le budget de chaque destination est inférieur ou égal à 2500 $. Si la condition est remplie, la ville et son budget sont ajoutés au dictionnaire affordable_destinations.

123456789101112
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Use dictionary comprehension to filter destinations affordable_destinations = {city: budget for city, country, budget in travel_wishlist if budget <= 2500} print(affordable_destinations) # Output: {'Paris': 2000, 'New York': 2500, 'Kyoto': 1500}
copy

Cet exemple atteint le même résultat que le précédent, mais de manière plus concise et élégante. La condition if budget <= 2500 filtre les destinations selon le budget, et le dictionnaire résultant inclut uniquement les destinations abordables.

Note
Remarque

Si vous essayez de décomposer uniquement deux variables (city et budget), Python ne pourra pas traiter correctement chaque élément de la liste, car chaque sous-liste contient trois éléments (city, country et budget). Cela entraînera une erreur, car Python tentera d'attribuer trois éléments à deux variables.

Voici à quoi cela ressemblerait :

affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}

Ce code générera une ValueError: not enough values to unpack (expected 2, got 3), car chaque élément de la liste comporte trois valeurs et vous essayez d'en décomposer seulement deux.

Tâche

Swipe to start coding

Un voyageur souhaite filtrer sa travel_wishlist pour inclure uniquement les destinations au Japon. Pour réaliser cela efficacement, il faut extraire les paires ville-budget pertinentes dans un dictionnaire.

  • Filtrer la travel_wishlist pour inclure uniquement les destinations dont le pays est "Japan".
  • Enregistrer le dictionnaire résultant dans japanese_destinations.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

bookCompréhension de Dictionnaire avec Condition

Glissez pour afficher le menu

Il est possible d’ajouter une condition dans une compréhension de dictionnaire afin de filtrer dynamiquement les éléments lors de la création du dictionnaire. La syntaxe d’une compréhension de dictionnaire avec condition est la suivante :

{key_expression: value_expression for item in iterable if condition}
12345678910111213141516
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Filter destinations within a $2500 budget using a for loop affordable_destinations = {} for city, country, budget in travel_wishlist: if budget <= 2500: # Check if the budget is within the limit affordable_destinations[city] = budget print(affordable_destinations)
copy

Ce code parcourt la liste travel_wishlist, en vérifiant si le budget de chaque destination est inférieur ou égal à 2500 $. Si la condition est remplie, la ville et son budget sont ajoutés au dictionnaire affordable_destinations.

123456789101112
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Use dictionary comprehension to filter destinations affordable_destinations = {city: budget for city, country, budget in travel_wishlist if budget <= 2500} print(affordable_destinations) # Output: {'Paris': 2000, 'New York': 2500, 'Kyoto': 1500}
copy

Cet exemple atteint le même résultat que le précédent, mais de manière plus concise et élégante. La condition if budget <= 2500 filtre les destinations selon le budget, et le dictionnaire résultant inclut uniquement les destinations abordables.

Note
Remarque

Si vous essayez de décomposer uniquement deux variables (city et budget), Python ne pourra pas traiter correctement chaque élément de la liste, car chaque sous-liste contient trois éléments (city, country et budget). Cela entraînera une erreur, car Python tentera d'attribuer trois éléments à deux variables.

Voici à quoi cela ressemblerait :

affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}

Ce code générera une ValueError: not enough values to unpack (expected 2, got 3), car chaque élément de la liste comporte trois valeurs et vous essayez d'en décomposer seulement deux.

Tâche

Swipe to start coding

Un voyageur souhaite filtrer sa travel_wishlist pour inclure uniquement les destinations au Japon. Pour réaliser cela efficacement, il faut extraire les paires ville-budget pertinentes dans un dictionnaire.

  • Filtrer la travel_wishlist pour inclure uniquement les destinations dont le pays est "Japan".
  • Enregistrer le dictionnaire résultant dans japanese_destinations.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
single

single

some-alt