Hvis du har brukt matriser på andre programmeringsspråk, kan du finne noe lignende i form av lister i Python. Den eneste forskjellen er at Python-lister har en ekstra fordel - dynamisk størrelse. Som matriser kan du bruke dem til å lagre mer enn ett element.

Hvorfor kreves looping?

Mens du arbeider med lister, vil det være tider når du må utføre den samme operasjonen mot hver oppføring i listen.

Det kan for eksempel være lurt å ta gjennomsnittet av alle oppføringene i en liste. På et lignende notat, hva om du har lagret blogger i en liste og vil hente overskriften deres?

Alle disse scenariene har det samme problemet: de innebærer repetisjon. For å løse disse bekymringene kan du bare bruke sløyfer med lister i Python.

La oss se hvordan sløyfer gjør det enkelt å utføre operasjoner mot flere elementer i en liste med et eksempel.

Forstå løkker med lister gjennom et eksempel

Anta at du vil skrive ut en liste over årets amerikanske svømmere fra 2016 til 2019 (ingen ble tildelt i 2020 på grunn av COVID-19). Uten sløyfer, må du hente hvert navn en etter en fra listen. Imidlertid er det to hovedproblemer med denne metoden:

  1. Å skrive ut hvert navn er repeterende og tidkrevende når du jobber med en lang liste.
  2. Endring av koden for hver forekomst krever betydelig innsats.

I slekt: Hvordan bruke en While Loop i Python

Heldigvis kan en for loop løse begge disse problemene effektivt. Vurder følgende kode:


svømmere = ['hjelper', 'dressel', 'kalisz', 'dressel']
til svømmer i svømmere:
trykk (svømmer)

La oss dissekere denne koden i tre trinn:

  1. Du definerer en liste svømmere og lagre navnene på vinnerne i den.
  2. Du definerer en for loop, trekker et navn fra listen svømmere en etter en og tilordne den til variabelen svømmer.
  3. Du ber Python skrive ut et navn som er tildelt svømmer i den spesifikke iterasjonen.

Nå fortsetter Python å gjenta 2nd og 3rd trinn for å skrive ut alle svømmerne i listen din. For din bekvemmelighet kan du lese det slik: "For hver svømmer i listen over svømmere, vis svømmerens navn." Her er utdataene:

En kort blikk på løkker

Temaet looping er avgjørende fordi det er en av kjernetilnærmingene for automatisering av repeterende oppgaver. For eksempel i vår swimmers.py fil, behandler Python loopens første linje:


til svømmer i svømmere:

Her ber du Python om å hente den første verdien fra listen din, svømmere. Deretter tildeler den den til den definerte variabelen svømmer. Siden den første verdien er 'phelps', gjelder følgende utsagn for den:


trykk (svømmer)

Det er viktig å forstå at Python skriver ut den nyeste verdien av svømmer sånn som det er nå, som tilfeldigvis er 'phelps'. Siden listen består av flere verdier, går Python tilbake til den første linjen i sløyfen:


til svømmer i svømmere:

Denne gangen vil Python hente neste navn fra listen din, 'dressel' og tildele det til variabelen svømmer. Igjen vil Python utføre følgende kode:


trykk (svømmer)

Nå skriver Python ut den nyeste verdien av svømmer, som tilfeldigvis er 'dressel'. På samme måte vil Python gjenta sløyfen og trykke ‘kalisz’ og ‘dressel’.

Etter at den siste verdien er skrevet ut, går Python til den første linjen i sløyfen igjen, og siden det ikke er noen ytterligere oppføring, vil den gå til neste linje. I dette programmet er det ingenting etter for loop, så det slutter.

Når du fortsetter å gå gjennom lister, må du huske at uansett trinn du definerer i koden din, vil den bli gjentatt en gang for hver listeoppføring, uavhengig av listens lengde. Det betyr at selv om du legger til en milliard oppføringer i listen din, vil Python utføre den definerte handlingen din en milliard ganger.

En annen ting å merke seg er at når du definerer din for loop, kan du velge hvilket som helst navn for den midlertidige variabelen som er tildelt hver oppføring i listen. Det anbefales imidlertid å velge et navn som passer til din kontekst for bedre kodelesbarhet.

For eksempel er her en effektiv tilnærming til å gå gjennom en liste over produkter, fugler og skuespillere:


for produkt i produkter:
for fugl i fugler:
for skuespiller i skuespillere:

Nå som du har en grunnleggende forståelse av for loop, manipulerer du hvert element på listen din. Når du går tilbake til svømmereksemplet, kan du gi komplimenter til hver svømmer for deres ferdigheter ved å skrive følgende kode:


svømmere = ['phelps', 'dressel', 'kalisz', 'dressel']
for svømmer i svømmere:
skriv ut (f "{swimmer.title ()}, svømmeferdighetene dine er kjempefine!")

Denne koden fungerer akkurat som den før; den eneste forskjellen er at du lager en melding for hver svømmer ved å ringe ut navnene deres. Som før løper løkken igjen hver svømmer og skriver ut en uttalelse for hver av dem. Som forventet vises den genererte produksjonen nedenfor:

Du kan også skrive flere utsagn i for-sløyfen. Husk at sløyfen omfatter alle innrykkede linjer som kommer etter svømmer i svømmere, og Python utfører hver linje en gang for hver listeverdi. Derfor er det uendelige muligheter for alle oppføringene i listen.

For eksempel kan du skrive en annen utskrift i eksemplet ovenfor.


svømmere = ['phelps', 'dressel', 'kalisz', 'dressel']
for svømmer i svømmere:
skriv ut (f "{swimmer.title ()}, svømmeferdighetene dine er kjempefine!")
skriv ut (f "Ser frem til å se deg i neste konkurranse, {swimmer.title ()}.
")

Ettersom du har brukt innrykk for begge utsagnene, utfører Python hver av dem for hver oppføring i listen.

Etter å ha fullført løkken, kan du oppsummere utdataene dine og deretter flytte til andre deler av programmet. Denne delen etter sløyfen skal ikke være innrykket, så den blir ikke gjentatt.

Nå kan du enkelt gå gjennom lister

I denne artikkelen lærte du hvorfor det er behov for sløyfer, hvordan du bruker sløyfer med lister, og hvordan Python behandler oppføringer i en liste når den er innrykket i en sløyfe. Du kan nå bruke lister og sløyfer til å skrive mer kompleks kode og lage programmer av høyere kvalitet.

For å teste kunnskapen din, her er en enkel øvelse: lag en liste med 10 tall og skriv ut bare tall som kan deles med fem.

E-post
Hvordan legge til en liste i Python

Jobber du med lister i Python? Her er hva du trenger å vite om bruk av Python append-funksjonen når du arbeider med lister.

Les Neste

Relaterte temaer
  • Programmering
  • Python
Om forfatteren
Usman Ghani (2 artikler publisert)Mer fra Usman Ghani

Abonner på vårt nyhetsbrev

Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Ett steg til…!

Bekreft e-postadressen din i e-posten vi nettopp sendte deg.

.