python的range()函数使用非常方便。它能返回一系列连续添加的整数,它的工作方式类似于分片。能够生成一个列表对象。

range函数大多数时常出如今for循环中。在for循环中可做为索引使用。事实上它也能够出如今不论什么须要整数列表的环境中,在python 3.0中range函数是一个迭代器。


>>> range(1,5) #代表从1到5(不包括5)
[1, 2, 3, 4]
>>> range(1,5,2) #代表从1到5。间隔2(不包括5)
[1, 3]
>>> range(5) #代表从0到5(不包括5)
[0, 1, 2, 3, 4]

再看看list的操作:

array = [1, 2, 5, 3, 6, 8, 4]
#事实上这里的顺序标识是
[1, 2, 5, 3, 6, 8, 4]
(0,1,2,3,4,5,6)
(-7,-6,-5,-4,-3,-2,-1)
 
>>> array[0:] #列出0以后的
[1, 2, 5, 3, 6, 8, 4]
>>> array[1:] #列出1以后的
[2, 5, 3, 6, 8, 4]
>>> array[:-1] #列出-1之前的
[1, 2, 5, 3, 6, 8]
>>> array[3:-3] #列出3到-3之间的
[3]

那么两个[::]会是什么那?


>>> array[::2]
[1, 5, 6, 4]
>>> array[2::]
[5, 3, 6, 8, 4]
>>> array[::3]
[1, 3, 4]
>>> array[::4]
[1, 6] 
假设想让他们颠倒形成reverse函数的效果
>>> array[::-1]
[4, 8, 6, 3, 5, 2, 1]
>>> array[::-2]
[4, 6, 5, 1]

range()在for循环中用法:

for i in range(4):
     print(i,'hello')


在一些时候也会用range间接的来迭代序列,一般在for循环中使用手动索引才会这样做:



x = 'python'

>>>for i in x:
>>>    print i,
p y t h o n

>>>for i in range(len(x)):
>>>    print x[i],
p y t h o n