python range

range()用法

range函数主要用来返回一个整数的列表,函数原型为

range(start, stop[, step])

start 生成列表的超始值,默认从0开始,如range(3),等价于range(0, 3)返回[0, 1, 2]

stop 结束值,但不包含在内,如range(3),生成的列表最大值到2,不包含3

step 生成整数列表的步长,range(0, 3, 1) 相当于从0开始,一次加1(默认是1)


以下代码截图来自Python中文集成版(Python整合版)

Git地址:

https://github.com/DaiMaBang/Jupytericon-default.png?t=M1L8https://github.com/DaiMaBang/Jupyter

打印一个0到2的整数

 

打印一个0到9步长为2的整数

 

 

### 3.1 range 函数的基本用法 Python 中的 `range()` 函数用于生成一个整数序列,常用于 `for` 循环中控制迭代次数。其基本语法为: ```python range(start, stop[, step]) ``` 其中: - `start`:起始值,默认为 0; - `stop`:终止值,不包含在序列中; - `step`:步长,默认为 1。 例如: ```python for i in range(5): print(i) ``` 输出为: ``` 0 1 2 3 4 ``` 当使用 `range(1, 5)` 时,生成的序列是 `[1, 2, 3, 4]`;使用 `range(1, 5, 2)` 则生成 `[1, 3]` [^2]。 ### 3.2 range 对象的特性 `range()` 函数返回的是一个 `range` 类型的对象,它属于不可变序列类型,与列表和元组并列为基础序列类型之一。该对象不立即生成完整的整数列表,而是按需计算元素,因此内存占用恒定,与序列长度无关 [^3]。 例如: ```python r = range(1, 10, 2) print(r) # 输出 range(1, 10) print(list(r)) # 输出 [1, 3, 5, 7, 9] ``` 此外,`range` 对象支持常见的序列操作,如索引、切片、`in` 和 `not in` 判断等,但不支持加法拼接和乘法重复操作 [^1]。 ### 3.3 range 与迭代器的关系 `range()` 函数返回的是一个可迭代对象,而不是迭代器。它本身不是迭代器,但在需要时可以通过 `iter()` 函数转换为迭代器。这种设计避免了不必要的资源消耗,使其在循环等场景中更高效 [^3]。 例如: ```python r = range(1, 5) it = iter(r) print(next(it)) # 输出 1 print(next(it)) # 输出 2 ``` ### 3.4 range 的应用场景 `range()` 函数广泛应用于循环结构中,尤其适合控制循环次数或生成索引值。例如: ```python for i in range(1, 6, 2): print(i, end=' ') ``` 输出为: ``` 1 3 5 ``` 还可以结合 `zip()` 函数同时遍历多个 `range` 序列: ```python for i in zip(range(1, 6, 2), range(2, 7, 2)): print(i, end=' ') ``` 输出为: ``` (1, 2) (3, 4) (5, 6) ``` 这种用法展示了 `range()` 作为“初级生产者”的灵活性,它生成的序列可以直接用于多种数据处理场景 。 ### 3.5 性能与内存优势 由于 `range` 对象只存储起始值、终止值和步长,并在需要时动态计算元素,因此无论其表示的序列有多长,其内存占用始终保持不变。这使得 `range()` 在处理大规模数据时具有显著的内存优势 [^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值