Brug af indbyggede iteratorer
Stryg for at vise menuen
Python tilbyder flere indbyggede iteratorer, der gør det muligt at bearbejde 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 bevares;zipgør det muligt at iterere over flere sekvenser parallelt og parre elementer sammen;- Bemærk, at
maper en højere-ordens funktion – et begreb vi tidligere har brugt til at anvende opgaver på data. Her undersøger vi dette værktøj igen gennem iteratorprotokollen. I stedet for blot at se det som en måde at bearbejde en liste på, opfattes det nu som et specialiseret objekt, der producerer resultater efter behov, hvilket ændrer forståelsen afmapfra et statisk funktionelt værktøj til en dynamisk, hukommelseseffektiv strøm.
Disse iteratorer er uundværlige til opgaver som bearbejdning af parallelle lister, datatransformation og skrivning af korte løkker. Som vist i videoen kan korrekt brug af dem 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 skaber 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 i listen. Denne metode er både kortfattet og letlæselig 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