Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Bruk av Innebygde Iteratorer | Python Iterators
Funksjonelle Programmeringskonsepter i Python

bookBruk av Innebygde Iteratorer

Sveip for å vise menyen

Python tilbyr flere innebygde iteratorer som lar deg behandle samlinger på uttrykksfulle og minneeffektive måter. Tre av de mest brukte er enumerate, zip og map.

  • enumerate gjør det mulig å iterere over en sekvens samtidig som du holder oversikt over både indeksen og verdien til hvert element;
  • zip lar deg iterere over flere sekvenser parallelt, og parer sammen elementene;
  • Husk at map er en høyereordens funksjon – et konsept vi brukte tidligere for å anvende oppgaver på data. Her ser vi nærmere på dette verktøyet gjennom iteratorprotokollen. I stedet for å bare se det som en måte å behandle en liste på, ser vi det nå som et spesialisert objekt som produserer resultater ved behov, og forvandler vår forståelse av map fra et statisk funksjonelt verktøy til en dynamisk, minneeffektiv strøm.

Disse iteratorene er uvurderlige for oppgaver som å behandle parallelle lister, transformere data og skrive konsise løkker. Som vist i videoen, kan riktig bruk av dem forenkle koden din og redusere feil, spesielt når du arbeider med store eller komplekse datasett.

123456
# Using enumerate and zip to process two lists in parallel names = ["Alice", "Bob", "Charlie"] scores = [85, 92, 78] for idx, (name, score) in enumerate(zip(names, scores), start=1): print(f"{idx}. {name} scored {score}")
copy

I denne koden parer zip(names, scores) hvert navn med tilhørende poengsum, og lager en iterator av tupler som ("Alice", 85). Ved å bruke enumerate får vi en teller som starter på 1, slik at hver iterasjon gir indeks, navn og poengsum. Løkken skriver ut hver students navn og poengsum, med posisjonen i listen foran. Denne tilnærmingen er både konsis og lettlest, og viser hvordan innebygde iteratorer effektiviserer arbeidet med flere sekvenser.

question mark

Hva er hovedformålet med å bruke enumerate sammen med zip i dette kodeeksempelet?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 1

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 5. Kapittel 1
some-alt