python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python  range使用

Python 里的 range 是干嘛使用的

作者:-小麦子-

range()用来生成一个整数序列,常用于for循环,本文给大家介绍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

⚠ 注意:

四、range 的重要特性(很多人不知道)

1️⃣ 不是真正的列表

print(range(5))

输出:

range(0, 5)

它是一个惰性对象(lazy object)

不会一次性生成所有数字,节省内存。

如果你要变成列表:

list(range(5))

2️⃣ 占用内存极小

range(1000000000)

不会爆内存。

因为它只存:

五、常见用法

① 控制循环次数

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使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文