python: range()函数用法总结
range
函数用于生成一个不可变的整数序列,常用于循环操作和生成索引。以下是其详细用法总结:
1. 基本语法
python
复制
range(stop) # 生成 0 ≤ i < stop 的整数序列(步长=1)
range(start, stop) # 生成 start ≤ i < stop 的整数序列(步长=1)
range(start, stop, step) # 生成 start ≤ i < stop 的整数序列(步长=step)
2. 参数说明
参数 | 描述 | 默认值 |
---|---|---|
start | 序列起始值(包含) | 0 |
stop | 序列终止值(不包含) | 必填 |
step | 步长(正数递增/负数递减) | 1 |
3. 不同用法示例
(1) 生成连续整数
python
复制
# 生成 0~4
print(list(range(5))) # [0, 1, 2, 3, 4]# 生成 2~5
print(list(range(2, 6))) # [2, 3, 4, 5]
(2) 指定步长
python
复制
# 生成 0~9 的偶数
print(list(range(0, 10, 2))) # [0, 2, 4, 6, 8]# 逆序生成 5~1
print(list(range(5, 0, -1))) # [5, 4, 3, 2, 1]
(3) 空序列场景
python
复制
# 当 start ≥ stop 且 step > 0
print(list(range(5, 3))) # []# 当 start ≤ stop 且 step < 0
print(list(range(3, 5, -1))) # []
4. 常见应用场景
(1) 遍历循环
python
复制
for i in range(3):print(i) # 输出 0, 1, 2
(2) 生成索引访问列表
python
复制
fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):print(fruits[i])
(3) 创建等差数列
python
复制
# 生成 0.0, 0.5, 1.0(需结合列表推导式)
step = 0.5
values = [x * step for x in range(0, 3)]
print(values) # [0.0, 0.5, 1.0]
(4) 控制循环次数
python
复制
# 重复执行 3 次
for _ in range(3):print("Hello!")
5. 注意事项
-
参数类型:所有参数必须为整数,否则抛出
TypeError
。 -
内存效率:Python3 的
range
返回迭代器(惰性计算),适合处理大范围数据。 -
负步长:需确保
start > stop
,否则返回空序列。 -
不可变性:
range
对象不可直接修改,需转换为列表(如list(range(5))
)。
6. 兼容性提示
-
Python2:
range()
返回列表,xrange()
返回生成器(类似Python3的range
)。 -
Python3:只有
range
,行为等同于Python2的xrange
。
通过灵活组合 start
, stop
, step
,range
函数能满足大多数整数序列生成需求,是Python中高效且常用的工具。