Python For Loop: En kortfattad guide till att bemästra iteration

Ett av de mest intressanta koncepten inom programmeringsspråk är loopar. Föreställ dig att du står inför en uppgift. Det är enkelt men repetitivt, som att räkna från 1 till 100. Nu kan du göra detta manuellt, ett nummer i taget. Men det skulle vara tidskrävande och inte särskilt effektivt. Det är här loopar i programmering kommer in.

En loop är en kontrollstruktur som låter dig upprepa en uppsättning instruktioner tills ett visst villkor är uppfyllt. Tillståndet kan vara vad som helst: ett visst antal repetitioner, ett visst datatillstånd eller till och med en extern händelse. En Python For Loop är en speciell typ av loop som används när du vet exakta repetitioner för en loop.

Python For Loop: En kortfattad guide till att bemästra iteration

Du använder för loopar i din kod för att förenkla processen att iterera över en sekvens eller samling av element. Detta kan vara en lista, en sträng, en ordbok, en uppsättning eller något annat itererbart objekt i Python .

Genom att använda en for-loop kan du exekvera ett kodblock för varje objekt i sekvensen. Till exempel, om du behöver skriva ut alla element i en lista, istället för att skriva en utskriftssats för varje objekt, kan du bara använda en for-loop. Detta gör din kod mer effektiv, läsbar och mindre benägen för fel.

Innan du börjar skriva för loopar måste du förstå grunderna. I den här artikeln kommer vi att titta på syntaxen för Python för loopar, terminologin som används när man arbetar med dem och hur man använder dem i olika scenarier.

Låt oss gå in i det!

Innehållsförteckning

Vad är syntaxen för Python For Loops?

I Python används for loopar för att iterera över itererbara objekt. Den grundläggande syntaxen för en for- loop är följande:

for variable in iterable:
    # code to execute for each item

I den här syntaxen är 'variabel' namnet du väljer för det aktuella objektet i iterationen. 'Iterable' är sekvensen eller samlingen av objekt som du vill iterera över.

Koden inuti slingan, här betecknad som '# kod att köra för varje objekt', är den åtgärd du vill utföra för varje objekt i iterabeln.

Exemplet nedan visar en grundläggande för loop i Python:

cities = ['New York', 'London', 'Paris', 'Tokyo']

for city in cities:
    print(city)

I exemplet ovan är "stad" variabeln och "städer" är den iterbara. Koden inuti slingan är print(city), som skriver ut varje stad i listan.

Python For Loop: En kortfattad guide till att bemästra iteration

Python Iterables och Iterable Objects

Ett annat avgörande koncept att förstå när man arbetar med loopar är konceptet iterables och iterable objekt.

I Python är en iterabel vilket objekt som helst som kan returnera dess element ett i taget. Detta innebär att du kan passera genom det itererbara objektet med en metod som en loop.

Vanliga exempel på itererbara objekt som du kommer att stöta på inkluderar listor , strängar , tupler och ordböcker .

Till exempel, när du skapar en lista med nummer som [1, 2, 3, 4, 5], kan du iterera över varje nummer i listan. Varje nummer är ett element i den itererbara listan.

På samma sätt, om du har en sträng som "hej", kan du iterera över varje tecken i strängen. I det här fallet är strängen den iterbara, och varje tecken ('h', 'e', ​​'l', 'l', 'o') är ett element i det iterbara.

Nedan hittar du några exempel på användning för loopar med olika iterables.

1. Gå igenom en lista med en Python for Loop

I Python är a en typ av datastruktur som kan innehålla en ordnad samling av objekt, vilket innebär att du kan lagra alla möjliga sorters objekt — heltal, flyter, strängar och till och med andra listor eller komplexa objekt.

För att gå igenom en lista med en for-loop kan du använda följande kod:

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

Denna kod kommer att skriva ut alla frukter i listan över frukter som visas nedan:

Python For Loop: En kortfattad guide till att bemästra iteration

2. Slinga genom en tuppel med en Python for Loop

En tupel i Python är en samling objekt som är ordnade och oföränderliga. Detta innebär att du inte kan ändra innehållet när en tuppel väl har skapats.

För att titta igenom en tupel med for-slingan kan du använda följande Python-kod:

colors = ('red', 'green', 'blue')

for color in colors:
    print(color)

For-slingan kommer att gå igenom alla element i tupeln och skriva ut dem på skärmen som visas i bilden nedan:

Python For Loop: En kortfattad guide till att bemästra iteration

3. Gå igenom en ordbok med en Python för loop

A i Python är en oordnad samling av data som lagras som en nyckel och ett värde. Detta är också känt som ett nyckel-värde-par.

För att gå igenom en ordbok med for-slingan kan du använda följande Python-kod:

student = {'name': 'John', 'age': 24, 'course': 'Computer Science'}

for key, value in student.items():
    print(key, value)

For-slingan går igenom alla nyckel-värdepar i ordboken och skriver ut dem på skärmen som visas nedan:

4. Slinga genom en sträng med en Python för loop

En sträng i Python är en sekvens av tecken. Strängar används i Python för att spela in textinformation såväl som godtyckliga samlingar av byte (som en bildfils innehåll).

För att gå igenom en sträng i Python med hjälp av for-loopen kan du använda koden nedan:

greeting = "Hello, world!"
for char in greeting:
    print(char)

For-slingan kommer att skriva ut alla alfabet i strängen till skärmen som visas nedan:

Python For Loop: En kortfattad guide till att bemästra iteration

Exemplen ovan visar hur loopar är användbara när man itererar över olika datatyper. Du kan också styra funktionaliteten för dina for-loopar genom att använda funktioner och satser i din loop.

Låt oss titta på några nyckelfunktioner och uttalanden som ofta används med för loopar i nästa avsnitt.

Nyckelfunktioner och uttalanden i Python för loopar

När du använder för loopar kan funktioner och uttalanden förbättra din kontroll över loopen och göra din kod mer effektiv och lättare att läsa.

Vi har listat nyckelfunktionerna och uttalanden som används i för loopar nedan:

1. Hur man använder Range()-funktionen med en Python For Loop

Funktionen range () låter dig generera en talföljd. Det används vanligtvis för att iterera ett visst antal gånger.

Grundsyntaxen är:

for i in range(start, stop, step):
  # your code here
  • start : en valfri parameter som anger startpunkten; som standard är det 0.

  • stop : en obligatorisk parameter som definierar ändpunkten (exklusivt).

  • steg : en valfri parameter som indikerar ökningen, med ett standardvärde på 1.

För att ge dig en tydlig förståelse av intervallfunktionen, ta en titt på exemplet nedan där vi skriver ut siffror från 1 till 5 med intervallfunktionen med en for-loop:

for i in range(5):
  print(i)

Python For Loop: En kortfattad guide till att bemästra iteration

2. Hur man använder Break Statement med en Python For Loop

Break - satsen låter dig lämna en for-loop när ett visst villkor är uppfyllt. När nyckelordet break nås i loopkroppen stoppas loopen omedelbart.

Följande är ett exempel på for-loopen med en break-sats:

for i in range(10):
  if i == 5:
    break
  print(i)

Python For Loop: En kortfattad guide till att bemästra iteration

Den här koden är en loop som går från 0 till 9. Om det aktuella talet är 5, stoppar den omedelbart slingan med break . Så den skriver bara ut siffrorna från 0 till 4. När den träffar 5 stannar den och skriver inte ut fler siffror.

3. Hur man använder Continue Statement med en Python For Loop

Fortsätt - satsen används för att hoppa över den aktuella iterationen och hoppa till nästa.

Följande är ett exempel på en continue-sats med for loop:

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

Slingan itererar från 0 till 4. Om det aktuella talet är 3 hoppar vi över det innan vi slutför resten av slingan för den iterationen med hjälp av fortsätt . Det betyder att du skriver ut alla siffror från 0 till 4, förutom 3.

Python For Loop: En kortfattad guide till att bemästra iteration

Lägg märke till i bilden ovan att siffran 3 hoppas över på grund av fortsättningssatsen .

4. Hur man använder Pass Statement

Godkännangivelsen är en platshållare som avsiktligt inte gör någonting . Den kan användas när du behöver loopstrukturen men inte har någon specifik kod att köra inom den ännu.

Följande är ett exempel på ett godkänt uttalande med en for-loop:

for i in range(5):
  pass

Denna loop kommer inte att mata ut någonting, eftersom pass- satsen är en platshållare för framtida kod. Slingor är flexibla och kan justeras för att passa alla användningsfall, som att använda slingor med det andra kodblocket.

Om du vill få praktisk träning med loops, kolla in följande video:

När du börjar skriva för loopar kommer du så småningom att vilja hoppa in i de avancerade teknikerna för loopar. Kunskap om de avancerade teknikerna gör att du kan skriva mer effektivt för loopar för nästan alla användningsfall.

Låt oss titta på några av de avancerade teknikerna för loopar i nästa avsnitt!

3 avancerade tekniker som använder Python för loopar

Som Python-programmerare behöver du ofta hantera samlingar av objekt, som listor eller strängar, och utföra operationer på varje objekt. För att utföra dessa operationer måste du ha en grundläggande förståelse för de avancerade teknikerna för loopar.

I det här avsnittet kommer vi att utforska några avancerade tekniker för att använda för loopar i Python. Vi kommer att täcka kapslade loopar, listförståelser och enumerate()-funktionen.

1. Hur man använder kapslad Python för loopar

Det finns tillfällen då du behöver gå över flera dimensioner av data, som en matris eller en lista med listor. I sådana fall kan du använda kapslade loopar, som är en loop inuti en annan loop. En kapslad loop låter dig passera flera dimensioner av data effektivt.

Följande är ett exempel på en kapslad för loop:

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for val in row:
        print(val, end=' ')
    print()

I den här koden använder vi en kapslad loop för att skriva ut varje nummer i en matris. Den yttre slingan går över varje rad, och den inre slingan går genom varje nummer i den raden.

Efter att ha skrivit ut varje rad startar vi en ny rad. Kort sagt, vi skriver ut hela matrisen rad för rad.

Python For Loop: En kortfattad guide till att bemästra iteration

2. Hur man använder Python för loopar för listförståelse

Om du skapar en ny lista baserad på en befintlig lista eller annan itererbar, kan du använda listförståelse. Det låter dig skapa en ny lista genom att applicera ett uttryck på varje objekt i en iterabel, allt på en enda kodrad.

Den allmänna syntaxen för listförståelse är:

[expression for variable in iterable if condition]

Anta att du vill skapa en lista med kvadrater för ett antal nummer, kan du använda följande listförståelse:

squares = [x ** 2 for x in range(1, 11)]
print(squares)

Denna kod skapar en lista med rutor för siffrorna 1 till 10 med en enda kodrad.

Python For Loop: En kortfattad guide till att bemästra iteration

3. Hur man använder Enumerate()-funktionen

När du går igenom en lista eller sträng och du behöver veta indexet för det aktuella objektet, använder du enumerate( ) . Den returnerar varje objekt tillsammans med dess index, vilket gör det lättare att hantera objektens position.

Följande är ett exempel på enumerate-funktion med en for-loop:

fruits = ['apple', 'banana', 'cherry']

for idx, fruit in enumerate(fruits):
    print(f"{idx}: {fruit}")

I den här koden går vi igenom fruktlistan, men vi håller också reda på indexet för varje objekt med hjälp av enumerate -funktionen, som returnerar varje objekt i listan tillsammans med dess index.

Så för varje iteration av loopen är idx indexet och frukt är objektet. Sedan skriver vi ut indexet följt av frukten. Detta ger oss en numrerad lista över frukter.

Python For Loop: En kortfattad guide till att bemästra iteration

Nu när du har utforskat de avancerade teknikerna för loopar kan du börja se hur flexibla loopar kan vara för att hantera olika scenarier. Men som med alla verktyg är det viktigt att veta när man ska använda det och när ett annat verktyg kan vara bättre lämpat.

Med detta i åtanke, låt oss flytta vårt fokus till att jämföra loopar med while-loopar. Detta hjälper dig att bestämma vilken typ av loop som passar bäst för din specifika kodningssituation.

För Loop vs While Loop

I Python tjänar for- och while -loopar olika syften.

För loopar används för att iterera över sekvenser, som listor eller tupler, och de har ett bestämt iterationsområde.

While loopar, å andra sidan, fortsätter att köras så länge som ett visst tillstånd förblir sant.

# For loop example
for item in sequence:
    # Code to execute for each item in sequence

# While loop example
while condition:
    # Code to execute while condition is true

Anta att du vill skriva ut de första 5 siffrorna med början från 0.

Med en for-loop skulle du skriva:

for i in range(5):
    print(i)

For-loopen är enkel när du vet det exakta antalet iterationer i förväg, som i det här fallet där du vet att du vill skriva ut 5 nummer.

Å andra sidan, med hjälp av en while-loop, skulle du skriva:

i = 0
while i < 5:
    print(i)
    i += 1

I while-loopen börjar man med ett initialt tillstånd (i < 5). Slingan fortsätter att köras tills villkoret inte längre är sant. Du måste öka i i slingans kropp, annars skulle den köra för alltid.

Python For Loop: En kortfattad guide till att bemästra iteration

For-slingan är enklare och mindre felbenägen för denna uppgift. Men while-loopen erbjuder mer flexibilitet för situationer där antalet iterationer inte är känt i förväg.

Tänk till exempel på ett scenario där du ber användaren om inmatning tills de anger ett giltigt nummer. Du vet inte hur många gånger du måste fråga, så en while-loop är lämplig i det här fallet:

while True:
    user_input = input("Please enter a number: ")
    if user_input.isdigit():
        print("Thank you!")
        break
    else:
        print("Invalid input. Try again.")

Python For Loop: En kortfattad guide till att bemästra iteration

I den här koden fortsätter while-slingan att be användaren om inmatning tills de anger ett giltigt nummer. Funktionen isdigit() kontrollerar om indata är ett tal.

Om så är fallet skrivs ett meddelande ut och loopen avslutas med break-satsen. Om det inte är ett nummer skrivs ett felmeddelande ut och slingan fortsätter.

Slutgiltiga tankar

För loopar är ett viktigt verktyg i din programmeringsverktygslåda. De ger ett sätt att utföra repetitiva uppgifter effektivt. Genom att förstå loopar får du förmågan att manipulera data, automatisera uppgifter och lösa komplexa problem med bara några rader kod.

Genom att mastera för loopar kan du göra din kod mer läsbar, effektivare och mer pytonisk. Övning är nyckeln till att bli bekväm med denna konstruktion. Med kunskapen från den här guiden är du väl rustad att tackla ett brett spektrum av programmeringsutmaningar med Python för loopar!


Upptäck unika insikter med LuckyTemplates TOPN-funktion

Upptäck unika insikter med LuckyTemplates TOPN-funktion

Den här bloggen innehåller LuckyTemplates TOPN DAX-funktion, som gör att du kan få unika insikter från dina data, vilket hjälper dig att fatta bättre marknadsföringsbeslut.

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Lär dig några fantastiska analytiska tekniker som vi kan göra för datamodellering i LuckyTemplates med hjälp av DAX-stödtabeller.

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Här dyker vi in ​​i LuckyTemplates Advanced DAX och implementerar rankningslogik för att få en mycket unik insikt. Jag visar också upp måttförgrening i det här exemplet.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Den här bloggen introducerar den nya funktionen i LuckyTemplates, analysparametern What-If. Du kommer att se hur det gör allt snabbt och enkelt för din scenarioanalys.

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Lär dig hur du avgör om din intäktstillväxt är bra genom att kontrollera om dina marginaler ökade med hjälp av LuckyTemplates mäter förgrening.

LuckyTemplates parametrar via frågeredigerare

LuckyTemplates parametrar via frågeredigerare

Lär dig och förstå hur du kan skapa och använda LuckyTemplates-parametrar som är en kraftfull funktion i frågeredigeraren.

Runda stapeldiagram – En visualisering för din instrumentpanel

Runda stapeldiagram – En visualisering för din instrumentpanel

Denna handledning kommer att diskutera hur man skapar ett runt stapeldiagram med Charticulator. Du kommer att lära dig hur du designar dem för din LuckyTemplates-rapport.

PowerApps funktioner och formler | En introduktion

PowerApps funktioner och formler | En introduktion

Lär dig hur du använder PowerApps funktioner och formler för att förbättra funktionaliteten och ändra ett beteende i vår Power Apps canvas-app.

Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.