range()可以生成等差的序列:
for i in range(3):
print(i)
输出:
0
1
2
注意:默认情况下,range() 的起始值是 0。
如果要1,3,5,7……呢?
当然,可以让range() 的起始值定为某一个数,也可以指定一个不同的增量(步长)。例如:
range(5, 10) # 5, 6, 7, 8, 9
range(0, 10 , 3) # 0, 3, 6, 9
那如果要反过来呢? (9,7,5,3,1),我们只需要将增量设定为负数即可
for i in range(9,0,-2):
print(i)
另外,我们可以使用range() 和len(),对一个序列的索引进行迭代:
a = ['This ', 'is', 'a', 'range ', 'test']
for i in range(len(a)):
print(i, a[i])
0 This
1 is
2 a
3 range
4 test
但是大家需要注意的是,在Python3.5中,不能直接用L = range(1,101),要使用 L = list(range(1,101))创建L才能正常切片
可以这样理解:range()返回的是一个可迭代对象,想要获得2.X那样输入range(1,101)输出一个1-100的list,需要调用list()才行,也就是list(range(1, 101))
网友评论