Ordbokskomprehensioner
Ordbokskomprehensioner ger ett kortfattat sätt att skapa ordböcker i Python, liknande listkomprehensioner. De gör det möjligt att omvandla data till nyckel-värde-par i en enda kodrad.
I grunden låter en enkel ordbokskomprehension dig konstruera en ny ordbok genom att tillämpa ett uttryck på varje nyckel-värde-par i en iterabel variabel.
python
key_expression
: definierar nyckeln för varje nyckel-värde-par;value_expression
: definierar värdet som motsvarar nyckeln;iterable
: källan till objekt som ska bearbetas (t.ex. en lista, range eller annan iterabel).
travel_wishlist = [ ['Paris', 2000], ['Tokyo', 3000], ['New York', 2500], ['Kyoto', 1500], ['Sydney', 4000] ] # Initialize an empty dictionary travel_budget = {} # Populate the dictionary using a for loop for destination, cost in travel_wishlist: travel_budget[destination] = cost print(travel_budget)
Denna kod itererar genom listan travel_wishlist
, där varje underlista innehåller en destination och dess budget. for
-loopen tilldelar destinationen som nyckel och budgeten som värde i ordboken travel_budget
.
travel_wishlist = [ ['Paris', 2000], ['Tokyo', 3000], ['New York', 2500], ['Kyoto', 1500], ['Sydney', 4000] ] # Create the dictionary using dictionary comprehension travel_budget = {destination: cost for destination, cost in travel_wishlist} print(travel_budget)
Detta exempel använder ordbokskomprehension för att uppnå samma resultat som det föregående exemplet. Varje destination blir en nyckel, och dess motsvarande kostnad blir värdet i travel_budget
-ordboken, allt på en enda rad.
Swipe to start coding
En resenär vill organisera sin travel_wishlist
genom att kartlägga varje stadsnamn till dess motsvarande land. För att uppnå detta effektivt, behöver du omvandla data till en ordbok.
- Extrahera stadsnamn och deras motsvarande länder från
travel_wishlist
. - Lagra den resulterande ordboken i
city_to_country
.
Lösning
Tack för dina kommentarer!