Listkomprehensioner
Listkomprehensioner är ett kraftfullt sätt att skapa nya listor genom att kombinera loopar och valfria villkor till ett enda, kortfattat uttalande. De ger ett mer Pythoniskt sätt att utföra operationer på listor, vilket gör din kod renare och lättare att läsa.
Låt oss börja med ett enkelt exempel. Du har en travel_wishlist
som innehåller städer du vill besöka, var och en representerad som en nästlad lista med dess namn, land och resekostnad.
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] city_names = [] # New empty list for city in travel_wishlist: city_names.append(city[0]) print(city_names)
Här gör listkomprehensionen samma jobb i en enda rad, vilket gör det kortfattat och läsbart.
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] city_names = [city[0] for city in travel_wishlist] print(city_names)
travel_wishlist
är en lista av listor, där varje inre lista innehåller stadens namn, land och uppskattad budget för en resa;Koden
[city[0] for city in travel_wishlist]
skapar en ny lista genom att extrahera det första elementet (city[0]
, stadens namn) från varje inre lista itravel_wishlist
.
Swipe to start coding
Du hanterar en travel_wishlist
, där varje destination representeras som en lista innehållande flera detaljer. Ditt mål är att extrahera endast reseutgifterna från varje destination och lagra dem separat.
- Iterera genom önskelistan, och få tillgång till varje destinations detaljer.
- Extrahera reseutgiften, som är det tredje elementet i varje destinations lista.
- Lagra de extraherade kostnaderna i en ny lista kallad
trip_costs
.
Lösning
Tack för dina kommentarer!