蟒蛇range
type 通过定义范围的起点和终点来生成整数序列。它通常与for循环迭代数字序列。
range()
在 Python 2 和 3 中的工作方式有所不同。
在Python 2中,有两个函数可以让你生成整数序列,range
and xrange
。这些功能非常相似,主要区别在于range
返回一个列表,并且xrange
返回一个 xrange 对象。
在 Python 3 中,xrange
功能已被删除,并且range
函数的行为与 Python 2 类似xrange
。蟒蛇3range
不是一个函数,而是一种表示不可变数字序列的类型。
在本文中,我们将介绍 Python 3 的基础知识range
type.
Python range()
syntax #
The range
构造函数采用以下形式:
range(stop)
range(start, stop[, step])
向当事人提供的论据range
构造函数必须是整数。不允许使用浮点数和其他类型。
range
采用一个必需参数和两个可选参数。它返回一个代表给定范围的范围对象并根据需要生成数字。
Python range(stop)
#
当只给出一个参数时,range
返回一个数字序列,递增1
, 从...开始0
to stop - 1
.
这是实际的范围类型:
for i in range(5):
print(i)
生成的数字序列从0
并以4
(5-1):
0
1
2
3
4
如果参数是0
或负整数range
返回一个空序列:
我们将 range 对象转换为列表,因为 range 对整数序列进行惰性求值。输出是一个空列表:
[]
Python range(start, stop)
#
当提供两个参数时,range
返回一个数字序列,递增1
, 从...开始start
to stop - 1
.
这是一个例子:
for i in range(3, 5):
print(i)
3
4
The stop
参数必须大于start
。否则,序列为空:
[]
您可以使用0
,正整数和负整数作为参数:
print(list(range(-5, -3)))
[-5, -4]
print(list(range(-3, 0)))
[-3, -2, -1]
Python range(start, stop, step)
#
当给出三个参数时,range
返回一个数字序列,递增或递减step
, 从...开始start
to stop - 1
.
If step
是积极的,range
返回一个递增的序列:
for i in range(0, 26, 5):
print(i)
0
5
10
15
20
25
当递增时,stop
参数必须大于start
。否则,序列为空。
If step
是负数,range
返回一个递减的序列:
for i in range(20, 4, -5):
print(i)
20
15
10
5
递减时,stop
参数必须小于start
。否则,序列为空。
If step
is 0
引发 ValueError 异常:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: range() arg 3 must not be zero
结论#
蟒蛇range
type 允许您生成整数序列。它主要用于for
loops.
如果您有任何问题或反馈,请随时发表评论。