Python range()函数

Python range type通过定义范围的起点和终点来生成整数序列。 它通常与 for 循环遍历一系列数字。

range() 在Python 2和3中的工作方式有所不同。

在Python 2中,有两个函数可让您生成整数序列, rangexrange。 这些功能非常相似,主要区别在于 range 返回列表,并且 xrange 返回一个xrange对象。

在Python 3中, xrange 功能已被删除,并且 range 函数的行为类似于Python 2 xrange。 Python 3 range 不是一个函数,而是一个表示不可变数字序列的类型。

在本文中,我们将介绍Python 3的基础知识 range 类型。

蟒蛇 range() 句法 #

range 构造函数采用以下形式:

range(stop)
range(start, stop[, step])

提供给 range 构造函数必须是整数。 不允许使用浮点数和其他类型。

range 接受一个必需参数和两个可选参数。 它返回一个代表给定范围的范围对象,并根据需要生成数字。

蟒蛇 range(stop)

当只给出一个参数时, range 返回一个数字序列,递增 1, 从…开始 0stop - 1

这是作用中的范围类型:

for i in range(5):
    print(i)

生成的数字序列从 0 并以 4 (5-1):

0
1
2
3
4

如果参数是 0 或负整数 range 返回一个空序列:

print(list(range(-5)))

我们将范围对象转换为列表,因为范围对整数序列进行了惰性计算。 输出为空列表:

[]

蟒蛇 range(start, stop)

提供两个参数时, range 返回一个数字序列,递增 1, 从…开始 startstop - 1

这是一个例子:

for i in range(3, 5):
    print(i)
3
4

stop 参数必须大于 start。 否则,序列为空:

print(list(range(5, 3)))
[]

您可以使用 0,正整数和负整数作为参数:

print(list(range(-5, -3)))
[-5, -4]
print(list(range(-3, 0)))
[-3, -2, -1]

蟒蛇 range(start, stop, step)

当给出三个参数时, range 返回一个数字序列,递增或递减 step, 从…开始 startstop - 1

如果 step 是肯定的 range 返回递增的序列:

for i in range(0, 26, 5):
    print(i)
0
5
10
15
20
25

递增时, stop 参数必须大于 start。 否则,序列为空。

如果 step 是负面的 range 返回递减的序列:

for i in range(20, 4, -5):
    print(i)
20
15
10
5

递减时, stop 参数必须小于 start。 否则,序列为空。

如果 step0 引发ValueError异常:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: range() arg 3 must not be zero

结论#

Python range type允许您生成整数序列。 它主要用于 for 循环。

如果您有任何疑问或反馈,请随时发表评论。

python循环

Sidebar