Python for-lus [met eenvoudige voorbeelden]

De for-lus in Python is een iteratieve functie. Als je een sequentieobject zoals een lijst hebt, kun je de for-lus gebruiken om door de items in de lijst te itereren.

De functionaliteit van de for-lus verschilt niet veel van wat je ziet in veel andere programmeertalen.

In dit artikel zullen we de Python for-lus in detail verkennen en leren itereren over verschillende sequenties, waaronder lijsten, tuples en meer. Daarnaast zullen we leren om de stroom van de lus te regelen met behulp van de onderbreek- en doorgaansverklaringen.

Basis syntaxis van de Python for-lus

De basis syntaxis van de for-lus in Python ziet er ongeveer als volgt uit.

for itarator_variable in sequence_name:
	Statements
	. . .
	Statements

Laat me de syntaxis van de Python for-lus beter uitleggen.

  • Het eerste woord van de verklaring begint met het zoekwoord “for”, wat het begin van de for-lus aangeeft.
  • Vervolgens hebben we de iteratorvariabele die over de sequentie itereert en binnen de lus kan worden gebruikt om verschillende functies uit te voeren
  • Daarna komt het “in” zoekwoord in Python, dat de iteratorvariabele vertelt om te itereren voor elementen binnen de sequentie.
  • En tot slot hebben we de volgordevariabele die ofwel een lijst, een tuple, of een ander soort iterator kan zijn.
  • Het gedeelte met de instructies van de lus is waar je kunt experimenteren met de iteratorvariabele en verschillende functies kunt uitvoeren

1. Print individuele letters van een string met behulp van de for-lus

Een Python-string is een reeks karakters. Als je binnen een van je programmeertoepassingen de karakters van een string individueel moet doorlopen, kun je hier de for-lus gebruiken.

Zo zou dat voor jou werken.

word="anaconda"
for letter in word:
	print (letter)

Output:

a
n
a
c
o
n
d
a

De reden waarom deze lus werkt, is omdat Python een “string” beschouwt als een reeks karakters in plaats van naar de string als geheel te kijken.

2. Gebruik de for-lus om door een Python-lijst of tuple te itereren

Lijsten en Tupels zijn iterabele objecten. Laten we nu kijken hoe we over de elementen binnen deze objecten kunnen itereren.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
	print (word)

Uitvoer:

Apple
Banana
Car
Dolphin

Laten we nu verder gaan en werken aan het itereren over de elementen van een tuple hier.

nums = (1, 2, 3, 4)

sum_nums = 0

for num in nums:
    sum_nums = sum_nums + num

print(f'Sum of numbers is {sum_nums}')

# Uitvoer
# Som van getallen is 10

3. Het nesten van Python for-lussen

Wanneer we een for-lus binnen een andere for-lus hebben, wordt dit een geneste for-lus genoemd. Er zijn meerdere toepassingen van een geneste for-lus.

Beschouw het bovenstaande voorbeeld van de lijst. De for-lus print individuele woorden uit de lijst. Maar wat als we in plaats daarvan de afzonderlijke tekens van elk van de woorden in de lijst willen afdrukken?

Dit is waar een geneste for-lus beter werkt. De eerste lus (ouderlus) zal de woorden een voor een doorlopen. De tweede lus (kindlus) zal de tekens van elk van de woorden doorlopen.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
        # Deze lus haalt het woord op uit de lijst
        print ("The following lines will print each letters of "+word)
        for letter in word:
                # Deze lus haalt de letter op voor het woord
                print (letter)
        print("") # Deze afdruk wordt gebruikt om een lege regel af te drukken

Output

4. Python for loop met range() functie

Python range() is een van de ingebouwde functies. Wanneer je wilt dat de for-lus een specifiek aantal keren wordt uitgevoerd, of je wilt een reeks objecten specificeren om af te drukken, werkt de range-functie erg goed. Bekijk het volgende voorbeeld waarin ik de getallen 1, 2 en 3 wil afdrukken.

for x in range(3):
    print("Printing:", x)
	
# Output

# Afdrukken: 0
# Afdrukken: 1
# Afdrukken: 2

De range-functie neemt ook een andere parameter naast het begin en het einde. Dit is de stap parameter. Het vertelt de range-functie hoeveel getallen over te slaan tussen elke telling.

In het onderstaande voorbeeld heb ik nummer 3 als de stap gebruikt en je kunt zien dat de uitvoergetallen het vorige getal + 3 zijn.

for n in range(1, 10, 3):
    print("Printing with step:", n)
	
# Output

# Afdrukken met stap: 1
# Afdrukken met stap: 4
# Afdrukken met stap: 7

5. break statement with for loop

De break-instructie wordt gebruikt om de for-lus voortijdig te verlaten. Het wordt gebruikt om de for-lus te onderbreken wanneer een specifieke voorwaarde is vervuld.

Stel dat we een lijst met getallen hebben en willen controleren of een getal aanwezig is of niet. We kunnen over de lijst met getallen itereren en als het getal wordt gevonden, uit de lus breken omdat we niet door de resterende elementen hoeven te blijven itereren.

In dit geval zullen we de Python if else-voorwaarde gebruiken samen met onze for-lus.

nums = [1, 2, 3, 4, 5, 6]

n = 2

found = False
for num in nums:
    if n == num:
        found = True
        break

print(f'List contains {n}: {found}')

# Uitvoer
# Lijst bevat 2: True

6. De continue-instructie met for-lus

We kunnen continue-instructies gebruiken binnen een for-lus om de uitvoering van het lichaam van de for-lus over te slaan voor een specifieke voorwaarde.

Stel dat we een lijst met getallen hebben en de som van positieve getallen willen afdrukken. We kunnen de continue-instructies gebruiken om de for-lus over te slaan voor negatieve getallen.

nums = [1, 2, -3, 4, -5, 6]

sum_positives = 0

for num in nums:
    if num < 0:
        continue
    sum_positives += num

print(f'Sum of Positive Numbers: {sum_positives}')

6. Python for-lus met een else-blok

We kunnen een else-blok gebruiken met een Python for-lus. Het else-blok wordt alleen uitgevoerd wanneer de for-lus niet wordt beëindigd door een break-verklaring.

Laten we zeggen dat we een functie hebben om de som van getallen af te drukken als en slechts als alle getallen even zijn.

We kunnen een break-verklaring gebruiken om de for-lus te beëindigen als er een oneven getal aanwezig is. We kunnen de som afdrukken in het else-deel zodat deze alleen wordt afgedrukt wanneer de for-lus normaal wordt uitgevoerd.

def print_sum_even_nums(even_nums):
    total = 0

    for x in even_nums:
        if x % 2 != 0:
            break

        total += x
    else:
        print("For loop executed normally")
        print(f'Sum of numbers {total}')


# dit zal de som afdrukken
print_sum_even_nums([2, 4, 6, 8])

# dit zal de som niet afdrukken vanwege een oneven getal in de reeks
print_sum_even_nums([2, 4, 5, 8])

# Uitvoer

# For-lus normaal uitgevoerd
# Som van getallen 20

Conclusie

De for-lus in Python is erg vergelijkbaar met andere programmeertalen. We kunnen break- en continue-verklaringen gebruiken met for-lus om de uitvoering te wijzigen. Echter, in Python kunnen we ook een optioneel else-blok in een for-lus hebben.

I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.

Source:
https://www.digitalocean.com/community/tutorials/python-for-loop-example