python range基础介绍

liftword22小时前技术文章1


在Python中,我们经常会用到 for i in range(3) 这样的循环方式,这里的 range 是Python的内置函数,用于生成整数序列,设计初衷是高效创建数值序列。与直接创建列表存储序列相比, range 不会立即生成所有元素,而是在迭代时按需生成,因此内存占用极低,即便处理大规模数据也能保持高效。


range 有三种调用形式:


1. 单参数形式: range(stop)

- 生成从 0 到 stop (不含 stop )的整数序列。

- 示例: range(3) → 生成 0, 1, 2


2. 双参数形式: range(start, stop)

- 生成从 start 到 stop (不含 stop )的整数序列。

- 示例: range(1, 3) → 生成 1, 2


3. 三参数形式: range(start, stop, step)

- 第三个参数为步长,可正可负(步长≠0)。

- 示例1(正数步长): range(0, 10, 2) → 生成 0, 2, 4, 6, 8

- 示例2(负数步长): range(4, 0, -2) → 生成 4, 2


range 对象的特点:

- 可迭代:支持 for 循环遍历,可用索引访问。

- 不可变:无法通过索引修改元素(如 r = range(10); r[6] = 100 会报错)。

- 内存高效:仅存储 start 、 stop 、 step 三个参数,无论序列多长,内存占用恒定。

- 惰性生成:按需生成元素,而非一次性创建所有值(对比 list(range(10**6)) 与直接创建列表的内存差异)。


使用注意事项:

- 所有参数必须为整数,且步长不能为 0 (如 range(1.5, 3) 或 range(5, 0, 0) 会报错)。


- 若需生成小数序列,可使用 numpy.arange 或数学计算转换。


应用场景:


1. 循环控制:指定循环次数(如 for i in range(5): print(i) )。


2. 生成算术序列:等差数列、等距数值(如 range(0, 100, 5) )。


3. 批量生成文件名: [f"image_{i:02d}.jpg" for i in range(10)] → 生成 image_00.jpg 到 image_09.jpg 。


4. 算法场景:生成特定范围数值用于排序、查找等逻辑。


通过结合具体场景灵活使用 range ,既能提升代码效率,又能避免数据类型或逻辑错误。如有其他补充,欢迎在评论区留言!

相关文章

Python必会的20核心函数—range()函数

range()函数是Python中用于生成不可变数字序列的核心函数,它在循环控制和序列生成中扮演着重要角色。本文将全面解析range()函数的用法和特性。1. range()函数的基本用法1.1 基本...

深入解析Python中的range()函数

range()是Python中一个非常基础且功能强大的内置函数,广泛用于循环控制和数字序列生成。它在迭代、索引处理和循环次数控制中扮演重要角色。本文将从基础用法到高级技巧,全面解析range()的使用...

Python 之 range函数

# range(start, stop[, step])# 注意:数据范围是左闭右开区间,数据类型是整数# default,默认从0开始for i in range(5):print(i, end=&...

Python基础入门之range()函数用方法详解

range() 是Python的一个内置函数,返回的是一个可迭代对象。用于创建数字序列。语法格式:range(start, stop, step)即:range(初值, 终值, 步长)range()函...

Python中range() 函数的使用介绍(附代码)

本篇文章给大家带来的内容是关于Python中range()函数的使用介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。range()是python的内置函数,用的地方挺多的...