Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Listeforståelser | Liste- og Ordbogsforståelser
Python Loops Tutorial

book
Listeforståelser

Listeforståelser er en kraftfuld måde at skabe nye lister på ved at kombinere løkker og valgfrie betingelser i en enkelt, kortfattet erklæring. De giver en mere Pythonisk måde at udføre operationer på lister, hvilket gør din kode renere og lettere at læse.

Lad os starte med et simpelt eksempel. Du har en travel_wishlist, der indeholder byer, du ønsker at besøge, hver repræsenteret som en indlejret liste med dens navn, land og rejseomkostninger.

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)
12345678910111213
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)
copy

Her gør listeforståelsen det samme job i en enkelt linje, hvilket gør det kortfattet og 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)
1234567891011
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)
copy
  • travel_wishlist er en liste af lister, hvor hver indre liste indeholder bynavn, land og estimeret budget for en rejse;

  • Koden [city[0] for city in travel_wishlist] skaber en ny liste ved at udtrække det første element (city[0], bynavnet) fra hver indre liste i travel_wishlist.

Opgave

Swipe to start coding

Du administrerer en travel_wishlist, hvor hver destination er repræsenteret som en liste, der indeholder flere detaljer. Dit mål er at udtrække kun rejseudgifterne fra hver destination og gemme dem separat.

  • Iterer gennem ønskelisten, og få adgang til hver destinations detaljer.
  • Udtræk rejseudgiften, som er det tredje element i hver destinations liste.
  • Gem de udtrukne udgifter i en ny liste kaldet trip_costs.

Løsning

# Given travel wishlist
travel_wishlist = [['Paris', 'France', 2000],['Tokyo', 'Japan', 3000],['New York', 'USA', 2500],
['Kyoto', 'Japan', 1500],['Rome', 'Italy', 2200],['Sydney', 'Australia', 2800],
['Barcelona', 'Spain', 1900],['London', 'UK', 2600],['Berlin', 'Germany', 2100],
['Dubai', 'UAE', 3500],['Bangkok', 'Thailand', 1800],['Singapore', 'Singapore', 2900],
['Los Angeles', 'USA', 2700],['Cape Town', 'South Africa', 2300],['Venice', 'Italy', 2000],
['Istanbul', 'Turkey', 1750],['Toronto', 'Canada', 2250],['Rio de Janeiro', 'Brazil', 1950],
['Athens', 'Greece', 1850]]

# Extract trip costs using list comprehension
trip_costs = [city[2] for city in travel_wishlist]

# Testing
print('Trip Costs:', trip_costs)
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1
# Given travel wishlist
travel_wishlist = [['Paris', 'France', 2000],['Tokyo', 'Japan', 3000],['New York', 'USA', 2500],
['Kyoto', 'Japan', 1500],['Rome', 'Italy', 2200],['Sydney', 'Australia', 2800],
['Barcelona', 'Spain', 1900],['London', 'UK', 2600],['Berlin', 'Germany', 2100],
['Dubai', 'UAE', 3500],['Bangkok', 'Thailand', 1800],['Singapore', 'Singapore', 2900],
['Los Angeles', 'USA', 2700],['Cape Town', 'South Africa', 2300],['Venice', 'Italy', 2000],
['Istanbul', 'Turkey', 1750],['Toronto', 'Canada', 2250],['Rio de Janeiro', 'Brazil', 1950],
['Athens', 'Greece', 1850]]

# Extract trip costs using list comprehension
trip_costs = []

# Testing
print('Trip Costs:', trip_costs)

Spørg AI

expand
ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

We use cookies to make your experience better!
some-alt