我一直在學習Python,但是我來自Java和Java的背景,您可以設置循環中每次運行時迭代器增加或減少的值。例如,您可以說for(int i = 0; i < 10; i = i + 2)
,以便迭代器每次增加兩次。For循環 - 迭代器增加1
從我目前在Python教程中看到的,for循環是不變的,並且迭代每個整數從一個開始值到一個結束值,每次增加一個。有沒有辦法操縱Python for循環來爲迭代器設置你自己的增加/減少值?
我一直在學習Python,但是我來自Java和Java的背景,您可以設置循環中每次運行時迭代器增加或減少的值。例如,您可以說for(int i = 0; i < 10; i = i + 2)
,以便迭代器每次增加兩次。For循環 - 迭代器增加1
從我目前在Python教程中看到的,for循環是不變的,並且迭代每個整數從一個開始值到一個結束值,每次增加一個。有沒有辦法操縱Python for循環來爲迭代器設置你自己的增加/減少值?
您可以使用以下方法來達到同樣在python:
>>> range(1, 10, 2)
[1, 3, 5, 7, 9]
您的代碼將因此
for i in range(0, 10, 2):
# do_stuff()
當您使用for
循環迭代某Python中的索引,通常你會構造一個range
對象。
for i in range(10):
print(i)
# 0, 1, ..., 9
range
有一個構造函數,它有三個參數:start,stop和step。
for i in range(0, 10, 2):
print(i)
# 0, 2, ..., 8
但通常你只是遍歷對象中的項目而不是索引。但是,如果你的對象支持切片(如列表所做的那樣),很容易得到其他所有成員。
lst = [0, 1, 2, 3]
for element in lst[::2]:
print(element)
# 0, 2
谷歌「列表切片在Python」如果你想在這個語法的更多信息。