Python的range()函数使用很方便,它能返回一系列连续增加的整数,它的工作方式类似于分片,可以生成一个列表对象。range函数大多数时常出现在for循环中,在for循环中可做为索引使用。其实它也可以出现在任何需要整数列表的环境中,在python 3.0中range函数是一个迭代器。
- >>> range(1,5)
- [1, 2, 3, 4]
- >>> range(1,5,2)
- [1, 3]
- >>> range(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:]
- [1, 2, 5, 3, 6, 8, 4]
- >>> array[1:]
- [2, 5, 3, 6, 8, 4]
- >>> array[:-1]
- [1, 2, 5, 3, 6, 8]
- >>> array[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