在Python的for循环的计数循环中,默认的步长为1,即每次循环变量增量为1;那该如何修改步长呢?
jerkzhang
在python的for循环中,range或xrange函数的第三个参数就是控制步长的;若不进行设置,则默认的步长为1。举例说明:
>>> range( 10 ) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range( 2, 10 ) [2, 3, 4, 5, 6, 7, 8, 9] >>> range( 2, 10, 3 ) # 第三个参数3代表的就是步长 [2, 5, 8]
上述range函数的第三个参数3就是用来设置步长的,range(2, 10, 3)代表的就是从2开始到10结束(不包括整数10),每次增量为3来获取列表,于是得到列表[2, 5, 8]。如果用之于for循环,就如下所示:
>>> for i in range( 2, 10, 3 ): ... print i ... 2 5 8
在python2中,因为xrange比range更加高效,在for循环中,使用xrange可以完全替代range,等同作用且效率更高,所以请习惯性地使用xrange吧;示例代码如下:
>>> for i in xrange( 2, 10, 3 ): ... print i ... 2 5 8
为了进一步理解for循环中设置步长,再举个例子,如下所示:
>>> for i in xrange( 10, 2, -2 ): ... print i ... 10 8 6 4
看见了吧,步长也可以是负数, —_—
也就是每次加上-2,直到循环变量到达临界点整数2为止(不包括整数2)