Python For Loop: En kortfattet guide til at mestre iteration

Et af de mest interessante begreber inden for programmeringssprog er loops. Forestil dig, at du står over for en opgave. Det er enkelt, men gentaget, som at tælle fra 1 til 100. Nu kan du gøre dette manuelt, et tal ad gangen. Men det ville være tidskrævende og ikke særlig effektivt. Det er her, loops i programmering kommer ind.

En loop er en kontrolstruktur, der giver dig mulighed for at gentage et sæt instruktioner, indtil en bestemt betingelse er opfyldt. Tilstanden kan være hvad som helst: et vist antal gentagelser, en bestemt datatilstand eller endda en ekstern begivenhed. En Python For Loop er en speciel slags loop, der bruges, når du kender de nøjagtige gentagelser for en loop.

Python For Loop: En kortfattet guide til at mestre iteration

Du bruger for loops i din kode for at forenkle processen med iteration over en sekvens eller samling af elementer. Dette kan være en liste, en streng, en ordbog, et sæt eller et hvilket som helst andet iterabelt objekt i Python .

Ved at bruge en for-løkke kan du udføre en kodeblok for hvert element i sekvensen. Hvis du f.eks. skal udskrive alle elementerne i en liste, kan du i stedet for at skrive en print-erklæring for hvert element blot bruge en for-løkke. Dette gør din kode mere effektiv, læsbar og mindre udsat for fejl.

Før du begynder at skrive til loops, skal du forstå det grundlæggende. I denne artikel vil vi se på syntaksen for Python for loops, den terminologi, der bruges, når man arbejder med dem, og hvordan man bruger dem i forskellige scenarier.

Lad os komme ind i det!

Indholdsfortegnelse

Hvad er syntaksen for Python For Loops?

I Python bruges for loops til at iterere over iterable objekter. Den grundlæggende syntaks for en for- løkke er som følger:

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

I denne syntaks er 'variabel' det navn, du vælger for det aktuelle element i iterationen. 'Iterable' er sekvensen eller samlingen af ​​elementer, du vil gentage over.

Koden inde i løkken, her betegnet som '# kode, der skal udføres for hvert element', er den handling, du vil udføre for hvert element i den iterable.

Nedenstående eksempel viser en grundlæggende for loop i Python:

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

for city in cities:
    print(city)

I ovenstående eksempel er 'by' variablen, og 'byer' er den iterable. Koden inde i løkken er print(by), som udskriver hver by på listen.

Python For Loop: En kortfattet guide til at mestre iteration

Python Iterables og Iterable Objects

Et andet afgørende begreb at forstå, når man arbejder med loops, er begrebet iterables og iterable objekter.

I Python er en iterable ethvert objekt, der er i stand til at returnere dets elementer et ad gangen. Dette betyder, at du kan passere gennem det iterable objekt ved hjælp af en metode som en loop.

Almindelige eksempler på gentagelige objekter, som du vil støde på, omfatter lister , strenge , tupler og ordbøger .

For eksempel, når du opretter en liste med tal som [1, 2, 3, 4, 5], kan du iterere over hvert tal på listen. Hvert tal er et element i den iterable liste.

På samme måde, hvis du har en streng såsom 'hej', kan du iterere over hvert tegn i strengen. I dette tilfælde er strengen den iterable, og hvert tegn ('h', 'e', ​​'l', 'l', 'o') er et element i den iterable.

Nedenfor finder du nogle eksempler på brug for loops med forskellige iterables.

1. Looping gennem en liste med en Python For Loop

I Python er a en type datastruktur, der kan indeholde en ordnet samling af elementer, hvilket betyder, at du kan gemme alle slags objekter - heltal, flydende, strenge og endda andre lister eller komplekse objekter.

For at gå gennem en liste med en for-løkke kan du bruge følgende kode:

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

Denne kode vil udskrive alle frugterne på listen over frugter som vist nedenfor:

Python For Loop: En kortfattet guide til at mestre iteration

2. Looping gennem en Tuple med en Python For Loop

En tuple i Python er en samling af objekter, der er ordnede og uforanderlige. Det betyder, at når først en tuple er oprettet, kan du ikke ændre dens indhold.

For at se gennem en tuple med for-løkken kan du bruge følgende Python-kode:

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

for color in colors:
    print(color)

For-løkken vil gennemgå alle elementerne i tuplet og udskrive dem til skærmen som vist på billedet nedenfor:

Python For Loop: En kortfattet guide til at mestre iteration

3. Gennemgang af en ordbog med en Python For Loop

A i Python er en uordnet samling af data gemt som en nøgle og en værdi. Dette er også kendt som et nøgleværdi-par.

For at gå gennem en ordbog med for-løkken kan du bruge følgende Python-kode:

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

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

For-løkken gentager alle nøgleværdi-parrene i ordbogen og udskriver dem på skærmen som vist nedenfor:

4. Looping gennem en streng med en Python for Loop

En streng i Python er en sekvens af tegn. Strenge bruges i Python til at optage tekstinformation såvel som vilkårlige samlinger af bytes (såsom en billedfils indhold).

For at sløjfe gennem en streng i Python ved hjælp af for-løkken kan du bruge koden nedenfor:

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

For-løkken udskriver hvert alfabet i strengen til skærmen som vist nedenfor:

Python For Loop: En kortfattet guide til at mestre iteration

Eksemplerne ovenfor viser, hvordan loops er nyttige ved iteration over forskellige datatyper. Du kan også kontrollere funktionaliteten af ​​dine for-løkker ved at bruge funktioner og sætninger i din løkke.

Lad os se på nogle nøglefunktioner og udsagn, der ofte bruges til loops i næste afsnit.

Nøglefunktioner og udsagn i Python For Loops

Når du bruger for loops, kan funktioner og sætninger forbedre din kontrol over loopen og gøre din kode mere effektiv og lettere at læse.

Vi har listet nøglefunktionerne og udsagn, der bruges i til sløjfer, nedenfor:

1. Sådan bruges Range()-funktionen med en Python for Loop

Funktionen range() giver dig mulighed for at generere en række tal. Det bruges generelt til at gentage et bestemt antal gange.

Den grundlæggende syntaks er:

for i in range(start, stop, step):
  # your code here
  • start : en valgfri parameter, der angiver startpunktet; som standard er det 0.

  • stop : en påkrævet parameter, der definerer slutpunktet (eksklusivt).

  • trin : en valgfri parameter, der angiver stigningen, med en standardværdi på 1.

For at give dig en klar forståelse af rækkeviddefunktionen, så tag et kig på eksemplet nedenfor, hvor vi udskriver tal fra 1 til 5 ved hjælp af rækkeviddefunktionen med en for-løkke:

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

Python For Loop: En kortfattet guide til at mestre iteration

2. Sådan bruges Break Statement med en Python For Loop

Pausesætningen giver dig mulighed for at forlade en for-løkke , når en bestemt betingelse er opfyldt. Når nøgleordet break er nået i loop body, stopper loopet øjeblikkeligt.

Følgende er et eksempel på for-løkken med en break-sætning:

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

Python For Loop: En kortfattet guide til at mestre iteration

Denne kode er en løkke, der løber fra 0 til 9. Hvis det aktuelle tal er 5, stopper den straks løkken med pause . Så den udskriver kun tallene fra 0 til 4. Når den rammer 5, stopper den og udskriver ikke flere tal.

3. Sådan bruger du Continue-erklæringen med en Python For Loop

Fortsæt - sætningen bruges til at springe den aktuelle iteration over og springe til den næste.

Følgende er et eksempel på en fortsæt-sætning med for loop:

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

Løkken itererer fra 0 til 4. Hvis det aktuelle tal er 3, springer vi det over, før vi fuldfører resten af ​​løkken for den iteration ved at bruge fortsæt . Det betyder, at du udskriver alle tal fra 0 til 4, undtagen 3.

Python For Loop: En kortfattet guide til at mestre iteration

Bemærk på billedet ovenfor, at tallet 3 er sprunget over på grund af fortsæt -erklæringen.

4. Sådan bruges beståelseserklæringen

Beståelseserklæringen er en pladsholder, der med vilje ikke gør noget . Det kan bruges, når du har brug for sløjfestrukturen, men ikke har nogen specifik kode til at udføre i den endnu.

Følgende er et eksempel på en beståelseserklæring med en for-løkke:

for i in range(5):
  pass

Denne sløjfe vil ikke udsende noget, da pass- sætningen er en pladsholder for fremtidig kode. Sløjfer er fleksible og kan justeres, så de passer til enhver brug, såsom at bruge løkker med den anden kodeblok.

Hvis du gerne vil have praktisk øvelse med for loops, så tjek følgende video ud:

Når du begynder at skrive til loops, vil du til sidst ønske at springe ind i de avancerede teknikker i for loops. Kendskab til de avancerede teknikker vil give dig mulighed for at skrive mere effektivt til loops til næsten enhver brug.

Lad os se på nogle af de avancerede teknikker til loops i næste afsnit!

3 avancerede teknikker, der bruger Python til sløjfer

Som Python-programmør skal du ofte håndtere samlinger af elementer, såsom lister eller strenge, og udføre operationer på hvert element. For at udføre disse operationer skal du have en grundlæggende forståelse af de avancerede teknikker i for loops.

I dette afsnit vil vi udforske nogle avancerede teknikker til brug for loops i Python. Vi vil dække indlejrede loops, listeforståelser og enumerate()-funktionen.

1. Sådan bruges Nested Python til Loops

Der er tidspunkter, hvor du har brug for at gå over flere dimensioner af data, såsom en matrix eller en liste over lister. I sådanne tilfælde kan du bruge indlejrede løkker, som er en løkke inde i en anden løkke. En indlejret løkke giver dig mulighed for effektivt at krydse flere dimensioner af data.

Følgende er et eksempel på en indlejret for-løkke:

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

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

I denne kode bruger vi en indlejret løkke til at udskrive hvert tal i en matrix. Den ydre løkke går over hver række, og den indre løkke går gennem hvert tal i den række.

Efter udskrivning af hver række starter vi en ny linje. Kort sagt, vi udskriver hele matrixen række for række.

Python For Loop: En kortfattet guide til at mestre iteration

2. Sådan bruges Python til loops til listeforståelse

Hvis du opretter en ny liste baseret på en eksisterende liste eller anden gentagelig liste, kan du bruge listeforståelse. Det lader dig oprette en ny liste ved at anvende et udtryk på hvert element i en iterabel, alt sammen i en enkelt kodelinje.

Den generelle syntaks for listeforståelser er:

[expression for variable in iterable if condition]

Antag, at du vil oprette en liste over kvadrater for en række tal, kan du bruge følgende listeforståelse:

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

Denne kode opretter en liste over kvadrater for tallene 1 til 10 ved hjælp af en enkelt kodelinje.

Python For Loop: En kortfattet guide til at mestre iteration

3. Sådan bruges Enumerate()-funktionen

Når du går gennem en liste eller streng, og du har brug for at kende indekset for det aktuelle element, bruger du enumerate () . Det returnerer hver vare sammen med dens indeks, hvilket gør det nemmere at håndtere varernes position.

Følgende er et eksempel på enumerate-funktion med en for-løkke:

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

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

I denne kode går vi gennem frugtlisten, men vi holder også styr på indekset for hvert element ved hjælp af funktionen opregn , som returnerer hvert element på listen sammen med dets indeks.

Så for hver iteration af løkken er idx indekset, og frugt er elementet. Derefter udskriver vi indekset efterfulgt af frugten. Dette giver os en nummereret liste over frugter.

Python For Loop: En kortfattet guide til at mestre iteration

Nu hvor du har udforsket de avancerede teknikker til loops, kan du begynde at se, hvor fleksible loops kan være i håndtering af forskellige scenarier. Men som med ethvert værktøj er det vigtigt at vide, hvornår det skal bruges, og hvornår et andet værktøj kan være bedre egnet.

Med dette i tankerne, lad os flytte vores fokus til at sammenligne for loops med while-loops. Dette vil hjælpe dig med at beslutte, hvilken type loop der passer bedst til din specifikke kodningssituation.

For Loop vs While Loop

I Python tjener for og while -løkker forskellige formål.

For loops bruges til at iterere over sekvenser, som lister eller tupler, og de har et bestemt iterationsområde.

Mens loops, på den anden side, fortsætter med at køre, så længe en bestemt betingelse forbliver sand.

# 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

Antag, at du vil udskrive de første 5 numre fra 0.

Ved at bruge en for-løkke ville du skrive:

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

For-løkken er ligetil, når du kender det nøjagtige antal iterationer på forhånd, som i dette tilfælde, hvor du ved, at du vil udskrive 5 tal.

På den anden side ville du ved at bruge en while-løkke skrive:

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

I while-løkken starter du med en startbetingelse (i < 5). Sløjfen fortsætter med at køre, indtil betingelsen ikke længere er sand. Du skal øge i i løkkens krop, ellers vil den køre for evigt.

Python For Loop: En kortfattet guide til at mestre iteration

For-løkken er enklere og mindre udsat for fejl til denne opgave. Men while-løkken giver mere fleksibilitet til situationer, hvor antallet af iterationer ikke er kendt på forhånd.

Overvej for eksempel et scenarie, hvor du beder brugeren om input, indtil de indtaster et gyldigt nummer. Du ved ikke, hvor mange gange du skal spørge, så en while-løkke er passende i dette tilfælde:

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 kortfattet guide til at mestre iteration

I denne kode fortsætter while-løkken med at bede brugeren om input, indtil de indtaster et gyldigt nummer. Funktionen isdigit() kontrollerer, om inputtet er et tal.

Hvis det er tilfældet, udskrives en meddelelse, og løkken afsluttes ved hjælp af break-sætningen. Hvis det ikke er et tal, udskrives en fejlmeddelelse, og løkken fortsætter.

Afsluttende tanker

For sløjfer er et væsentligt værktøj i din programmeringsværktøjskasse. De giver en måde at udføre gentagne opgaver effektivt på. Ved at forstå loops får du evnen til at manipulere data, automatisere opgaver og løse komplekse problemer med blot nogle få linjer kode.

Ved at mastere for loops kan du gøre din kode mere læsbar, mere effektiv og mere pytonisk. Øvelse er nøglen til at blive fortrolig med denne konstruktion. Med den viden, du har opnået fra denne guide, er du godt rustet til at tackle en bred vifte af programmeringsudfordringer ved at bruge Python til loops!


Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Lær nogle fantastiske analytiske teknikker, som vi kan gøre til datamodellering i LuckyTemplates ved hjælp af DAX-understøttende tabeller.

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogik for at få en meget unik indsigt. Jeg viser også måleforgrening i dette eksempel.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Denne blog introducerer den nye funktion i LuckyTemplates, What-If-analyseparameteren. Du vil se, hvordan det gør alt hurtigt og nemt til din scenarieanalyse.

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Lær, hvordan du afgør, om din omsætningsvækst er god ved at kontrollere, om dine avancer er udvidet ved hjælp af LuckyTemplates, der måler forgrening.

LuckyTemplates-parametre via forespørgselseditor

LuckyTemplates-parametre via forespørgselseditor

Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.

Rundt søjlediagram – en visualisering til dit dashboard

Rundt søjlediagram – en visualisering til dit dashboard

Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.

PowerApps funktioner og formler | En introduktion

PowerApps funktioner og formler | En introduktion

Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.

Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.