Python3 range() 函数

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)

相关推荐
Zane199421 分钟前
闭包到底"闭"住了什么?一文讲透 LEGB 规则与循环里的闭包陷阱
后端·python
Lumi_Peak40 分钟前
Claude思考了42秒,我的代码质量直接提升了一个档次
python·claude
m沐沐1 小时前
【机器学习】DBSCAN聚类算法——原理、参数调优与实战
人工智能·python·深度学习·算法·机器学习·聚类·dbscan
梅孔立1 小时前
推荐一个 Python 开源项目:AI 模板填充 + Markdown 转 Word,面向 Aspose 模板引擎的效率神器
人工智能·python·开源
码农小韩1 小时前
AIAgent应用开发——大模型理论基础与应用(七)
python·学习·ai·大模型·agent
CodeLinghu1 小时前
LangSmith Evaluate实战评估Agent
人工智能·python·语言模型·llm
起司喵喵2 小时前
推荐一款基于 Python 和 Rust 开发的跨平台 GUI 自动化库!
python·rust·自动化
过期的秋刀鱼!2 小时前
学习曲线-过拟合和欠拟合要做什么以及原因
人工智能·python·深度学习·算法·机器学习·模型评估
Yolanda_20223 小时前
Python学习-第九部分-错误处理与异常处理
开发语言·python·学习
这个人懒得名字都没写4 小时前
Flask + PyArmor Gunicorn启动报错:RuntimeError: unauthorised use of script
python·flask·gunicorn·pyarmor