/ / For Loop - Iterator um 1 erhöht [Duplikat] - Python, for-Loop

For Schleife - Iterator um 1 erhöht [duplizieren] - Python, for-Schleife

Ich habe Python gelernt, komme aber aus einem Hintergrund von Java. In Java können Sie den Wert einstellen, den der Iterator bei jedem Durchlauf durch die Schleife erhöht oder verringert. So können Sie beispielsweise sagen for(int i = 0; i < 10; i = i + 2) so dass der Iterator jedes Mal um zwei erhöht wird.

Von dem, was ich bisher in Python-Tutorials gesehen habe,Die for-Schleife ändert sich nicht und durchläuft jede ganze Zahl von einem Anfangswert bis zu einem Endwert und steigt jedes Mal um eins an. Gibt es eine Möglichkeit, die Python for-Schleife zu manipulieren, um Ihren eigenen Wert für die Erhöhung / Verringerung des Iterators festzulegen?

Antworten:

3 für die Antwort № 1

Sie können Folgendes verwenden, um in Python dasselbe zu erreichen:

>>> range(1, 10, 2)
[1, 3, 5, 7, 9]

Siehe Dokumentation auf range

Ihr Code wird also sein

for i in range(0, 10, 2):
# do_stuff()

1 für die Antwort № 2

Wenn Sie eine for Schleife zum Durchlaufen eines Index in Python, normalerweise konstruieren Sie eine range Objekt.

for i in range(10):
print(i)
# 0, 1, ..., 9

range hat einen Konstruktor, der drei Argumente akzeptiert, start, stop und step.

for i in range(0, 10, 2):
print(i)
# 0, 2, ..., 8

Normalerweise iteriert man nur die Elemente in Objekten und nicht Indizes.

lst = [0, 1, 2, 3]
for element in lst:
print(element)
# 0, 1, 2, 3

Wenn Ihr Objekt jedoch Slicing unterstützt (wie es Listen tun), ist es einfach, jedes andere Mitglied zu erhalten.

lst = [0, 1, 2, 3]
for element in lst[::2]:
print(element)
# 0, 2

Google "Listenaufteilung in Python", wenn Sie weitere Informationen zu dieser Syntax wünschen.