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)