Python range()函数for循环使用详解
作者:小月亮
时间:2025-12-27
浏览:0
range()是Python生成整数序列的内置函数,返回range对象而非列表,支持三种调用形式:range(stop)、range(start,stop)、range(start,stop,step),常用于for循环控制次数或索引遍历,需注意stop不包含、step不能为0等细节。
range()是Python生成整数序列的内置函数,返回range对象而非列表,支持三种调用形式:range(stop)、range(start, stop)、range(start, stop, step),常用于for循环控制次数或索引遍历,需注意stop不包含、step不能为0等细节。

range() 是 Python 中生成整数序列的内置函数,常配合 for 循环 使用,用来控制循环次数或遍历索引。它不直接生成列表(Python 3 中返回的是 range 对象),内存友好、效率高。
基本语法与三种写法
range() 有三种常用调用形式:
- range(stop):从 0 开始,到 stop-1 结束(不包含 stop),步长为 1。例如
range(5)生成 0, 1, 2, 3, 4。 - range(start, stop):从 start 开始,到 stop-1 结束,步长为 1。例如
range(2, 7)生成 2, 3, 4, 5, 6。 - range(start, stop, step):指定起始、结束和步长(可正可负)。例如
range(0, 10, 2)生成 0, 2, 4, 6, 8;range(5, 0, -1)生成 5, 4, 3, 2, 1。
for 循环中常见用法
range() 最典型用途是控制循环执行次数,或按索引访问序列元素:
- 重复执行某段代码 n 次:
for i in range(3): print("Hello")输出 3 次。 - 遍历字符串/列表的索引:
text = "abc"; for i in range(len(text)): print(i, text[i])输出索引和对应字符。 - 反向遍历:
for i in range(len(lst)-1, -1, -1): print(lst[i])从末尾向前取元素。
注意细节和易错点
使用 range() 配合 for 循环时,这些细节容易被忽略:
- range 的 stop 值永远不包含在序列中,类似切片规则。
- step 为 0 会报
ValueError;step 为负时,start 必须大于 stop,否则得不到任何值。 - range 对象支持
in、len()、索引(如range(5)[2]),但不是列表,不能直接修改或追加。 - 若需真正列表,得显式转换:
list(range(3))→[0, 1, 2]。
替代方案与何时不用 range
不是所有循环都需要 range():
- 直接遍历元素更简洁:
for item in my_list:比for i in range(len(my_list)):更 Pythonic。 - 需要索引和元素时,优先用
enumerate():for i, item in enumerate(my_list):。 - 处理非整数步进(如小数)、无限序列等场景,range 不适用,可考虑
itertools.count()或生成器。
基本上就这些。掌握 range 的三种形式和边界行为,for 循环里的计数和索引操作就很少出错了。
作者最新文章
纯纯写作
2026-09-16 17:42
JMeter入门:创建HTTP请求并验证响应结果
2026-09-02 10:20
文件表格制作教程:选择Word或Excel的判断方法
2026-09-02 09:45
多个PPT怎么一次性转PDF?PPT批量转换工具有哪些?
2026-09-02 06:00
PDF图纸转CAD的3种方法及比例校准指南
2026-09-01 18:36
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































