Brug af indbyggede iteratorer
Stryg for at vise menuen
Python tilbyder flere indbyggede iteratorer, der gør det muligt at behandle samlinger på udtryksfulde og hukommelseseffektive måder. Tre af de mest anvendte er enumerate, zip og map.
enumerategør det muligt at gennemløbe en sekvens, mens både indeks og værdi for hvert element spores;zipgør det muligt at iterere over flere sekvenser parallelt ved at parre elementer sammen;- Bemærk, at
maper en Higher-Order Function – et begreb vi tidligere har brugt til at anvende opgaver på data. Her genbesøger vi dette værktøj gennem iteratorprotokollen. I stedet for blot at se det som en måde at behandle en liste på, betragtes det nu som et specialiseret objekt, der producerer resultater efter behov, hvilket ændrer vores forståelse afmapfra et statisk funktionelt værktøj til en dynamisk, hukommelseseffektiv strøm.
Disse iteratorer er uvurderlige til opgaver som behandling af parallelle lister, datatransformation og skrivning af korte løkker. Som vist i videoen kan korrekt brug forenkle koden og reducere fejl, især ved arbejde med store eller komplekse datasæt.
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 denne kode parrer zip(names, scores) hvert navn med den tilsvarende score og opretter en iterator af tupler som ("Alice", 85). Ved at indpakke dette med enumerate tilføjes en tæller, der starter ved 1, så hver iteration giver indeks, navn og score. Løkken udskriver hver elevs navn og score, foranstillet af deres placering på listen. Denne tilgang er både kortfattet og læsbar og demonstrerer, hvordan indbyggede iteratorer effektiviserer arbejdet med flere sekvenser.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat