关于python:For循环 – 迭代器增加1

For Loop - Iterator increasing by 1

本问题已经有最佳答案,请猛点这里访问。

我一直在学习Python,但是我来自Java和Java的背景,你可以设置迭代器在每个循环中增加或减少的值。例如,可以说for(int i = 0; i < 10; i = i + 2),这样迭代器每次增加两个。

从我在Python教程中看到的内容来看,for循环是不变的,它遍历每个整数,从一个开始值到一个结束值,每次增加一个。有没有一种方法可以操作python for循环来为迭代器设置自己的增加/减少值?


在python中,可以使用以下方法实现相同的效果:

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

range文件

因此,您的代码

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

当使用for循环在python中迭代索引时,通常构造一个range对象。

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

range有一个构造函数,它接受三个参数:start、stop和step。

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

但通常您只是迭代对象中的项,而不是索引。

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

但是,如果您的对象支持切片(如列表一样),则很容易获取其他每个成员。

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

如果您想了解更多关于这个语法的信息,可以使用谷歌的"用python列出切片"。