Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Använda inbyggda iteratorer | Python Iterators
Funktionella Programmeringskoncept i Python

bookAnvända inbyggda iteratorer

Svep för att visa menyn

Python tillhandahåller flera inbyggda iteratorer som gör det möjligt att bearbeta samlingar på uttrycksfulla och minnes­effektiva sätt. Tre av de mest använda är enumerate, zip och map.

  • enumerate gör det möjligt att iterera över en sekvens samtidigt som både index och värde för varje element spåras;
  • zip låter dig iterera över flera sekvenser parallellt och para ihop elementen;
  • Observera att map är en högre ordningens funktion – ett koncept vi tidigare använt för att applicera operationer på data. Här undersöker vi detta verktyg igen genom iteratorprotokollet. Istället för att bara se det som ett sätt att bearbeta en lista, betraktar vi det nu som ett specialiserat objekt som producerar resultat vid behov, vilket förvandlar vår förståelse av map från ett statiskt funktionellt verktyg till en dynamisk, minnes­effektiv ström.

Dessa iteratorer är ovärderliga för uppgifter som att bearbeta parallella listor, transformera data och skriva koncisa loopar. Som visas i videon kan korrekt användning förenkla koden och minska fel, särskilt vid arbete med stora eller komplexa datamängder.

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 denna kod parar zip(names, scores) ihop varje namn med motsvarande poäng och skapar en iterator av tupler som ("Alice", 85). Genom att använda enumerate läggs en räknare till som börjar på 1, så varje iteration ger index, namn och poäng. Loopen skriver ut varje students namn och poäng, föregånget av deras position i listan. Detta tillvägagångssätt är både koncist och lättläst, och visar hur inbyggda iteratorer förenklar arbete med flera sekvenser.

question mark

Vad är huvudsyftet med att använda enumerate tillsammans med zip i detta kodexempel?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 5. Kapitel 1
some-alt