Python 里的 range 是干嘛使用的
一、range 是干嘛的?
range() 用来生成一个整数序列,常用于 for 循环。
for i in range(5):
print(i)
输出:
0
1
2
3
4
二、三种用法
① 一个参数
range(stop)
表示:从 0 开始,到 stop 结束(不包含 stop)
range(5)
= 0,1,2,3,4
② 两个参数
range(start, stop)
从 start 到 stop(不包含 stop)
range(2, 6)
= 2,3,4,5
③ 三个参数
range(start, stop, step)
step 是步长
range(0, 10, 2)
= 0,2,4,6,8
三、倒序写法
range(10, 0, -1)
输出:
10,9,8,7,6,5,4,3,2,1
⚠ 注意:
- step 必须为负数
- stop 依然不包含
四、range 的重要特性(很多人不知道)
1️⃣ 不是真正的列表
print(range(5))
输出:
range(0, 5)
它是一个惰性对象(lazy object)
不会一次性生成所有数字,节省内存。
如果你要变成列表:
list(range(5))
2️⃣ 占用内存极小
range(1000000000)
不会爆内存。
因为它只存:
- start
- stop
- step
五、常见用法
① 控制循环次数
for _ in range(10):
print("hello")
② 用索引遍历列表(但不推荐)
nums = [10, 20, 30]
for i in range(len(nums)):
print(nums[i])更推荐:
for num in nums:
print(num)
③ 同时拿索引和值(推荐)
for i, value in enumerate(nums):
print(i, value)
六、常见坑
❌ 1. 不包含 stop
range(1, 5)
不是 1 到 5
是 1 到 4
❌ 2. 步长方向错误
range(5, 1)
结果是空!
因为默认 step = +1
正确写法:
range(5, 1, -1)
七、面试常考点
Q:range 是列表吗?
答:不是,是一个可迭代对象。
Q:range 占内存大吗?
答:不会,它是惰性的。
八、进阶小知识(Python 3)
range 支持:
5 in range(10) # True
因为它支持 O(1) 判断,不会遍历。
到此这篇关于Python 里的 range 是干嘛使用的的文章就介绍到这了,更多相关Python range使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
今天小编就为大家分享一篇对python 数据处理中的LabelEncoder 和 OneHotEncoder详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-07-07
Python argparse中的action=store_true用法小结
这篇文章主要介绍了Python argparse中的action=store_true用法小结,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-02-02


最新评论