菜鸟笔记
提升您的技术认知

python range函数-ag真人游戏

描述

range函数返回一个range类型的整数序列,一般用在循环结构中。

range(start, stop, step)
参数名称 说明 备注
start 计数起始位置 整数参数,可省略。省略时默认从0开始计数
stop 计数终点位置 不可省略的整数参数。计数迭代的序列中不包含stop
step 步长 可省略的整数参数,默认时步长为1

range函数返回一个range对象实例。实例包含了计数的起始位置、终点位置和步长等信息。

1. 仅保留stop参数

>>> test = range(10)
>>> test
range(0, 10)
>>> list(test)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2. 指定起始位置和终止位置

>>> test = range(3,10)
>>> test
range(3, 10)
>>> list(test)
[3, 4, 5, 6, 7, 8, 9]

3. 指定步长

>>> test = range(0, 10, 2)
>>> test
range(0, 10, 2)
>>> tuple(test)
(0, 2, 4, 6, 8)

1. 所有参数都是整形。不能给出浮点数序列

>>> range(0.1, 0.3)
traceback (most recent call last):
  file "", line 1, in 
typeerror: 'float' object cannot be interpreted as an integer

2. 当start参数省略时,step参数也必须省略

当star参数省略的时候,step参数也应省略。否则python会自动将step参数理解为stop,将stop理解为start

例如想给出一个从0到14的序列,步长为2。可是输出的序列转换成列表后却是空列表:

>>> test = range(10, 2)
>>> list(test)
[]

    产生这种现象的原因就是python总是把双参数的range函数当作为range(start,stop)。即一个从10开头,到2结尾的序列。这样的序列是没有任何数字的空序列,因此在转换成列表的过程中,就产生了空列表。

3. step小于1没有任何意义

不同于字符串和列表的分片,range函数中的step并不能将序列反向。当step小于1的时候,序列为空:

>>> test = range(-10, -2, -3)
>>> list(test)
[]

4. 步长不能为0

当step参数为0时,python报错:range()函数的第三个参数不能为0

>>> test = range(-10, 2, 0)
traceback (most recent call last):
  file "", line 1, in 
valueerror: range() arg 3 must not be zero

5. range()的返回值类型是range

在python3中,range函数的返回值类型不再是列表,而是一个range类型。使用者可以使用list函数继续再将其转化成列表。

>>> test = range(5)
>>> type(test)

>>> list(test)
[0, 1, 2, 3, 4]
>>> 
网站地图