Python3 range() 函数用法

Python3 内置函数 Python3 内置函数

Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

Python3 list() 函数是对象迭代器,可以把 range() 返回的可迭代对象转为一个列表,返回的变量类型为列表。

Python2 range() 函数返回的是列表。

函数语法

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

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如 range(5) 等价于 range(0, 5)
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是 [0, 1, 2, 3, 4] 没有 5
  • step:步长,默认为 1。例如:range(0, 5) 等价于 range(0, 5, 1)

如果只提供开始值和结束值,那么步长默认为 1:

实例代码

for number in range(1, 6):
    print(number)

输出结果为:

1
2
3
4
5

如果只提供一个参数,它将生成一个从 0 开始的整数序列,参数为结束值,步长默认为 1:

实例代码

for number in range(6):
    print(number)

输出结果为:

0
1
2
3
4
5

可以指定步长,以便每次增加不同的数量:

实例代码

for number in range(1, 6, 2):
    print(number)

输出结果为:

1
3
5

注意:结束值 6 不包括在内。

另外,我们可以使用负数作为步长,以便从结束值倒序生成序列:

实例代码

for number in range(6, 1, -1):
    print(number)

输出结果为:

6
5
4
3
2

注意:如果使用负数作为步长,则开始值必须大于结束值。

如果您只需要生成一个整数序列,并不需要使用 for 循环遍历它,那么您可以将 range() 函数的返回值转换为列表或元组,例如:

以下生成一个整数列表:

实例代码

>>> numbers = list(range(1, 6))
>>> numbers
[1, 2, 3, 4, 5]

以下生成一个整数元组:

实例代码

>>> numbers = tuple(range(1, 6))
>>> numbers
(1, 2, 3, 4, 5)

Python3 内置函数 Python3 内置函数