/ / For Loop - Iterator zwiększający się o 1 [duplicate] - python, for-loop

For Loop - Iterator zwiększający się o 1 [duplicate] - python, for-loop

Uczę się Pythona, ale pochodzę z tła Java i Java, możesz ustawić wartość, którą iterator zwiększa lub zmniejsza w każdym przebiegu pętli. Na przykład możesz powiedzieć for(int i = 0; i < 10; i = i + 2) tak, że iterator wzrasta o dwa za każdym razem.

Z tego, co do tej pory widziałem w tutorialach w Pythonie,pętla for jest niezmienna i przechodzi przez każdą liczbę całkowitą od wartości początkowej do wartości końcowej, zwiększając się o jeden za każdym razem. Czy istnieje sposób na manipulowanie pętlą Python for, aby ustawić własną wartość zwiększania / zmniejszania dla iteratora?

Odpowiedzi:

3 dla odpowiedzi № 1

Możesz użyć poniższych, aby osiągnąć to samo w pythonie:

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

Zobacz dokumentację na range

Będziesz zatem kodować

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

1 dla odpowiedzi nr 2

Kiedy używasz for Pętla do iteracji nad indeksem w Pythonie, zazwyczaj konstruujesz a range obiekt.

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

range ma konstruktor, który przyjmuje trzy argumenty: start, stop i step.

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

Ale zwykle po prostu iterujesz przedmioty w obiektach, a nie indeksy.

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

Jednakże, jeśli twój obiekt obsługuje cięcie (jak robią listy), łatwo jest zdobyć każdego innego członka.

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

"Krojenie listy w Pythonie", jeśli chcesz uzyskać więcej informacji na temat tej składni.