For-loopen i Python


Nyckelord: For-loopen

I Python, använder man for-loopen när man vill att programmet ska upprepa en operation ett specifikt antal gånger. Tack vara for-loopen, slipper man att programmera samma sak flera gånger eftersom man istället kan återanvända samma kod flera gånger.

Vad är en for-loop?

I Python, använder man for-loopen för att iterera (upprepa) en del av programmet flera gånger. Om antalet iterationer (upprepningar) är ett bestämt antal så är det rekommenderat man att att använda for-loopen.

Ibland har man ett kodsegment som man vill upprepa flera gånger om. Istället för att skriva samma kod flera gånger, kan vi istället utnyttja for-loopen som upprepar koden ett fixt antal gånger.

For-loopen i Python

  • Upprepar ett kodsegment ett specifikt antal gånger.
  • Har en räknare som håller reda på hur många gånger loopen har upprepats.
  • När man vet i förhand hur många gånger man vill upprepa koden, är for-loopen att föredra över while-loopen.

Hur fungerar For-loopen i Python?

Flödesschemat visar hur for-loopen fungerar i Python. For-loopen använder en räknare som håller reda på hur många gånger som man vill att programmet ska upprepa loopen. Vanligtvis börjar räknaren med initialvärdet 0 och stegar upp till ett bestämt värde.

När programmet kommer fram till for-loopen så startar den med att kontrollera ett villkor. Detta villkor är vanligtvis en kontroll om loopen har upprepats så många gånger som man bestämt att den ska göra.

Ifall villkoret är uppfyllt (True) så utför programmet en eller flera operationer. Efter att alla operationer är klara, så ökas det givna initialvärdet. Detta upprepas till dess att villkoret inte längre är uppfyllt False. När villkoret är False så går programmet vidare som vanligt.

For-loopen i Python

Skapa en for-loop i Python

Sytaxen för att skapa en for-loop i Python ser ut såhär:

for i in range(värde):
    operation/operationer

Forloopen deklarerar vi enkelt genom det reserverade ordet forFör att skapa en for-loop i dess enklaste form, anger man hur många gånger man vill att loopen ska upprepa sig själv. Det kan man göra med kommandot: in range(värde).

Detta innebär att loopen kommer upprepa sig själv ett specifikt antal gånger. Värdet på i börjar på 0 och ökar med 1 varje loop tills dess att den kommer upp till det angivna värdet. Se exempel nedan.

Exempel: For-loopen i Python

Vi ska se ett enkelt exempel på hur vi kan använda for-loopen för att utföra en operation ett givet antal gånger.

for i in range(5): # Utför for-loopen 5 gånger
  print(i)         # Värdet på i kommer skrivas ut 5 gånger, med start på 0

I detta exempel kommer for-loopen upprepa sig själv 5 gånger, eftersom det är det värdet som är angivet i range(). Det smidiga med for-loopen är att värdet på variabeln i, automatiskt ökar efter varje iteration. Utskriften i detta fall blir alltså:

0
1
2
3
4

Vi har alltså på ett enkelt och kompakt sätt skrivit ett program som skriver ut ett värde 5 gånger med hjälp av en loop, vilket är betydligt lättare än att skriva print fem gånger (även om resultatet skulle bli det samma). Men tänk om du skulle vilja skriva ut ett värde 100 gånger? Eller 1000?

Några saker att tänka på:

  • Observera att räknaren i börjar på 0.
  • Ange ett kolon : för att ange att for-loopen startar.
  • Allting som är indenterat (indraget) under for-loopen kommer upprepas.
  • Där indenteringen slutar, avslutar även for-loopen

Nästlade Loopar

Nästlade loopar innebär att en loop finns inuti en annan loop. Exempel:

for i in range(3): 
    for j in range(3): 
        print(f'i: {i}, j: {j}')

Vad tror du utskriften blir i detta fall?

Svar:

i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 1, j: 0
i: 1, j: 1
i: 1, j: 2
i: 2, j: 0
i: 2, j: 1
i: 2, j: 2

Båda looparna går från 0 till 2 (observera att man börjar räkna från 0). Den inre loopen kommer först köra tre gånger varpå detta upprepas tre gånger (yttre loopen).

Avsluta och fortsätt en loop i Python

För att avsluta, respektive fortsätta en loop i Python, kan man använda sig av break och continue och på så sätt kontrollera loopens flöde.

  • break: Avslutar loopen.
  • continue: Hoppar över resten av loopen och fortsätter med nästa iteration.

Exempel: Vad blir utskriften av följande kod?

for i in range(5):
    if i == 2: 
        continue 
    print(i)

Svar:

0
1
3
4

Kodordet continue bryter pågående iteration av loopen och fortsätter på nästa. I ovanstående fall kommer loopen alltså inte göra någon utskrift när variabeln i är lika med 2.

Iterering över listor

Det går även att enkelt loopa igenom listor i Python. Mer om listor i Listor i Python!

for item in ['a', 'b', 'c']: 
    print(item)

Vilket helt enkelt skriver ut:

a
b
c

I detta fall är item inte en räknare som ökar, utan helt enkelt värdet i listan.

Vanliga Misstag

  • Glömma att indentera koden korrekt.
  • Använda fel variabelnamn i loopen.

Sammanfattning

For-loopen är ett effektivt sätt att upprepa en kodsekvens ett specifikt antal gånger. Vi har visat hur man kan använda nästlade for-loopar samt hur vi kan kontrollera dessa med continue och break.

Vanliga frågor och svar om for-loopen i Python

Hur skapas en grundläggande for-loop i Python?

Använd syntaxen for variabel in range(antal_iterationer): följt av indenterad kod som ska upprepas.

Kan for-loopen iterera över andra typer av samlingar än listor?

Ja, for-loopen kan iterera över olika typer av samlingar som tuples, strängar och dictionaries.

Hur använder man break och continue i en for-loop?

Använd break för att avsluta loopen tidigt och continue för att hoppa över resten av den aktuella iterationen och fortsätta med nästa.


To top