range模块

官方网址:range

解释:

The range type represents an immutable sequence of numbers and is commonly used for looping a specific number of times in for loops.

    range类型返回不可变的数字序列(可迭代的对象),通常用于循环for循环的特定次数。

使用:

range(start,stop,[,step])

range构造函数的参数必须是整数(内置的int或任何实现__index__特殊方法的对象)。如果省略了step参数,则默认为1。如果忽略start参数,则默认为0。如果step为0,则会引发ValueError。

举例:

 1 #没有start则默认从0开始
 2 >>> list(range(10))
 3 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
 4 >>> list(range(1,11))
 5 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 6 #设置步长为5
 7 >>> list(range(0,30,5))
 8 [0, 5, 10, 15, 20, 25]
 9 #反向
10 >>> list(range(0,-10,-2))
11 [0, -2, -4, -6, -8]
12 >>> list(range(1,0))
13 []
14 #step为0,则报错
15 >>> list(range(1,10,0))
16 Traceback (most recent call last):
17   File "<stdin>", line 1, in <module>
18 ValueError: range() arg 3 must not be zero
View Code

同时range对象可以进行元素索引查找、切片和对负索引等操作(实现了collections.abc.Sequence方法[先占坑]),以及包含测试,提供两个特有方法

count方法:count(value) ->返回值为出现次数

index方法:rangeobject。索引(值,[start, [stop]]) ->整数——返回值索引。

如果该值不存在,将引发ValueError。

举例:

>>> r=range(0,20,2)
>>> r
range(0, 20, 2)
>>> 11 in r
False
>>> 10 in r
True
#返回10第一次出现的位置
>>> r.index(10)
>>> r[5]
#支持切片操作
>>> r[:5]
range(0, 10, 2)
>>> r[-1]
#返回值也就是10出现的次数
>>> r.count(10)
#支持比较操作,如果两个范围对象表示相同的值序列,则认为它们相等
>>> range(0,3,2)==range(0,4,2)
True
#range长度
>>> len(r)
10
#最小值
>>> min(r)
0
#最大值
>>> max(r)
18
#总和
>>> sum(r)
90
View Code

猜你喜欢

转载自www.cnblogs.com/ganiner/p/9913220.html