Anvä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 minneseffektiva sätt. Tre av de mest använda är enumerate, zip och map.
enumerategör det möjligt att iterera över en sekvens samtidigt som både index och värde för varje element spåras;ziplå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 avmapfrån ett statiskt funktionellt verktyg till en dynamisk, minneseffektiv 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}")
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.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal