Dictionary-Comprehension mit Bedingung
In einer Dictionary Comprehension kann eine Bedingung hinzugefügt werden, um Elemente beim Erstellen des Dictionaries dynamisch zu filtern. Die Syntax für eine Dictionary Comprehension mit Bedingung lautet:
{key_expression: value_expression for item in iterable if condition}
12345678910111213141516travel_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)
Dieser Code durchläuft die Liste travel_wishlist und prüft, ob das Budget für jedes Reiseziel kleiner oder gleich $2500 ist. Wenn die Bedingung erfüllt ist, werden die Stadt und das Budget dem Dictionary affordable_destinations hinzugefügt.
123456789101112travel_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}
Dieses Beispiel erzielt das gleiche Ergebnis wie das vorherige, jedoch auf eine prägnantere und elegantere Weise. Die Bedingung if budget <= 2500 filtert die Reiseziele basierend auf dem Budget, und das resultierende Dictionary enthält nur die erschwinglichen Reiseziele.
Wenn Sie versuchen, nur zwei Variablen (city und budget) zu entpacken, kann Python jedes Element der Liste nicht korrekt verarbeiten, da jede Unterliste drei Elemente enthält (city, country und budget). Dies führt zu einem Fehler, da Python versucht, drei Elemente auf zwei Variablen zuzuweisen.
So würde es aussehen:
affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}
Dieser Code führt zu einem ValueError: not enough values to unpack (expected 2, got 3), da jedes Element in der Liste drei Werte enthält, Sie jedoch versuchen, nur zwei zu entpacken.
Swipe to start coding
Ein Reisender möchte seine travel_wishlist filtern, sodass nur noch Reiseziele in Japan enthalten sind. Um dies effizient zu erreichen, sollen die relevanten Stadt-Budget-Paare in ein Dictionary extrahiert werden.
- Filtern Sie die
travel_wishlist, sodass nur Ziele mit dem Land"Japan"enthalten sind. - Speichern Sie das resultierende Dictionary in
japanese_destinations.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Großartig!
Completion Rate verbessert auf 5
Dictionary-Comprehension mit Bedingung
Swipe um das Menü anzuzeigen
In einer Dictionary Comprehension kann eine Bedingung hinzugefügt werden, um Elemente beim Erstellen des Dictionaries dynamisch zu filtern. Die Syntax für eine Dictionary Comprehension mit Bedingung lautet:
{key_expression: value_expression for item in iterable if condition}
12345678910111213141516travel_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)
Dieser Code durchläuft die Liste travel_wishlist und prüft, ob das Budget für jedes Reiseziel kleiner oder gleich $2500 ist. Wenn die Bedingung erfüllt ist, werden die Stadt und das Budget dem Dictionary affordable_destinations hinzugefügt.
123456789101112travel_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}
Dieses Beispiel erzielt das gleiche Ergebnis wie das vorherige, jedoch auf eine prägnantere und elegantere Weise. Die Bedingung if budget <= 2500 filtert die Reiseziele basierend auf dem Budget, und das resultierende Dictionary enthält nur die erschwinglichen Reiseziele.
Wenn Sie versuchen, nur zwei Variablen (city und budget) zu entpacken, kann Python jedes Element der Liste nicht korrekt verarbeiten, da jede Unterliste drei Elemente enthält (city, country und budget). Dies führt zu einem Fehler, da Python versucht, drei Elemente auf zwei Variablen zuzuweisen.
So würde es aussehen:
affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}
Dieser Code führt zu einem ValueError: not enough values to unpack (expected 2, got 3), da jedes Element in der Liste drei Werte enthält, Sie jedoch versuchen, nur zwei zu entpacken.
Swipe to start coding
Ein Reisender möchte seine travel_wishlist filtern, sodass nur noch Reiseziele in Japan enthalten sind. Um dies effizient zu erreichen, sollen die relevanten Stadt-Budget-Paare in ein Dictionary extrahiert werden.
- Filtern Sie die
travel_wishlist, sodass nur Ziele mit dem Land"Japan"enthalten sind. - Speichern Sie das resultierende Dictionary in
japanese_destinations.
Lösung
Danke für Ihr Feedback!
single