Python for loop Funktion
Die for Loop in Python ist eine Iterationsfunktion. Wenn Sie ein Sequenzobjekt wie eine Liste haben, können Sie die for Loop verwenden, um über die Elemente in der Liste zu iterieren.
Die Funktionalität der for Loop ist nicht sehr unterschiedlich von dem, was man in vielen anderen Programmiersprachen sieht.
In diesem Artikel werden wir die Python for Loop detailliert erkunden und lernen, über verschiedene Sequenzen einschließlich Listen, Tupeln und mehr zu iterieren. Zusätzlich werden wir lernen, den Fluss der Loop mit den break- und continue-Anweisungen zu steuern.
Grundlegende Syntax der Python for Loop
Die grundlegende Syntax der for Loop in Python sieht ähnlich aus wie die unten erwähnte.
for itarator_variable in sequence_name:
Statements
. . .
Statements
Lassen Sie mich die Syntax der Python for Loop besser erklären.
- Das erste Wort der Anweisung beginnt mit dem Schlüsselwort „for“, das den Beginn der for Loop kennzeichnet.
- Dann haben wir die Iterator-Variable, die über die Sequenz iteriert und innerhalb der Loop verwendet werden kann, um verschiedene Funktionen auszuführen
- Das nächste ist das Schlüsselwort „in“ in Python, das der Iterator-Variable sagt, dass sie über Elemente innerhalb der Sequenz iterieren soll
- Und schließlich haben wir die Sequenzvariable, die entweder eine Liste, ein Tupel oder eine andere Art von Iterator sein kann.
- Der Anweisungsteil der Loop ist der Ort, an dem Sie mit der Iterator-Variablen spielen und verschiedene Funktionen ausführen können
1. Einzelne Buchstaben eines Strings mit der for Loop ausgeben
Ein Python-String ist eine Sequenz von Zeichen. Wenn Sie in einer Ihrer Programmieranwendungen die Zeichen eines Strings einzeln durchgehen müssen, können Sie hierfür die for Loop verwenden.
word="anaconda"
for letter in word:
print (letter)
Output
a
n
a
c
o
n
d
a
Der Grund, warum der Loop funktioniert, ist, dass Python eine „Zeichenkette“ als eine Folge von Zeichen betrachtet, anstatt die Zeichenkette als Ganzes zu betrachten.
2. Verwendung der for Loop zur Iteration über eine Python-Liste oder ein Tupel
Listen und Tupel sind iterierbare Objekte. Sehen wir uns jetzt an, wie wir über die Elemente in diesen Objekten iterieren können.
words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
print (word)
Output
Apple
Banana
Car
Dolphin
Nun machen wir weiter und arbeiten an der Loop-Bildung über die Elemente eines Tuple.
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}')
# Output
# Sum of numbers is 10
3. Verschachtelte Python for Loops
Wenn wir eine for Loop innerhalb einer anderen for Loop haben, spricht man von einer verschachtelten for Loop. Es gibt mehrere Anwendungen für eine verschachtelte for Loop.
Betrachten Sie das obige Listenbeispiel. Die for Loop gibt einzelne Wörter aus der Liste aus. Aber was, wenn wir stattdessen die einzelnen Buchstaben jedes Wortes in der Liste ausdrucken wollen?
Hier funktioniert eine verschachtelte for Loop besser. Die erste Loop (übergeordnete Loop) wird nacheinander über die Wörter gehen. Die zweite Loop (untergeordnete Loop) wird über die Buchstaben jedes Wortes iterieren.
words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
#This loop is fetching word from the list
print ("The following lines will print each letters of "+word)
for letter in word:
#This loop is fetching letter for the word
print (letter)
print("") #This print is used to print a blank line
Output
The following lines will print each letters of Apple
A
p
p
l
e
The following lines will print each letters of Banana
B
a
n
a
n
a
The following lines will print each letters of Car
C
a
r
The following lines will print each letters of Dolphin
D
o
l
p
h
i
n
>>>
4. Python for Loop mit der range()-Funktion
Python range() ist eine der eingebauten Funktionen. Wenn Sie möchten, dass die for Loop eine bestimmte Anzahl von Malen läuft, oder Sie einen Bereich von Objekten ausgeben müssen, funktioniert die range-Funktion sehr gut.
for x in range(3):
print("Printing:", x)
# Output
# Printing: 0
# Printing: 1
# Printing: 2
Die range-Funktion nimmt neben dem Start- und dem Stoppwert auch einen weiteren Parameter an. Dies ist der Schritt-Parameter (step parameter). Er gibt an, wie viele Zahlen zwischen jedem Zählschritt übersprungen werden sollen.
Im folgenden Beispiel habe ich die Zahl 3 als Schritt verwendet und Sie können sehen, dass die Ausgabenummern die vorherige Zahl plus 3 sind.
for n in range(1, 10, 3):
print("Printing with step:", n)
# Output
# Printing with step: 1
# Printing with step: 4
# Printing with step: 7
5. break-Anweisung mit for Loop
Die break-Anweisung wird verwendet, um die for Loop vorzeitig zu beenden. Sie wird eingesetzt, um die for Loop zu unterbrechen, wenn eine bestimmte Bedingung erfüllt ist.
Nehmen wir an, wir haben eine Liste von Zahlen und möchten überprüfen, ob eine Zahl vorhanden ist oder nicht. Wir können über die Liste der Zahlen iterieren und wenn die Zahl gefunden wird, die Loop mit break verlassen, weil wir nicht weiter über die verbleibenden Elemente iterieren müssen.
In diesem Fall verwenden wir die Python if-else-Bedingung zusammen mit unserer for Loop.
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}')
# Output
# List contains 2: True
6. Die continue-Anweisung mit for Loop
Wir können continue-Anweisungen innerhalb einer for Loop verwenden, um die Ausführung des Loop-Körpers für eine bestimmte Bedingung zu überspringen.
Nehmen wir an, wir haben eine Liste von Zahlen und möchten die Summe der positiven Zahlen ausdrucken. Wir können die continue-Anweisungen verwenden, um die for Loop für negative Zahlen zu überspringen.
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}')
7. Python for Loop mit einem else-Block
Wir können einen else-Block mit einer Python for Loop verwenden. Der else-Block wird nur ausgeführt, wenn die for Loop nicht durch eine break-Anweisung beendet wird.
Nehmen wir an, wir haben eine Funktion, um die Summe von Zahlen zu drucken, aber nur, wenn alle Zahlen gerade sind.
Wir können die break-Anweisung verwenden, um die for Loop zu beenden, wenn eine ungerade Zahl vorhanden ist. Wir können die Summe im else-Teil drucken, so dass sie nur gedruckt wird, wenn die for Loop normal ausgeführt wird.
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}')
# this will print the sum
print_sum_even_nums([2, 4, 6, 8])
# this won't print the sum because of an odd number in the sequence
print_sum_even_nums([2, 4, 5, 8])
# Output
# For loop executed normally
# Sum of numbers 20
Fazit
Die for Loop in Python ist sehr ähnlich zu anderen Programmiersprachen. Wir können break- und continue-Anweisungen mit der for Loop verwenden, um die Ausführung zu ändern. Allerdings können wir in Python auch einen optionalen else-Block in der for Loop haben.