首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

野牛程序员让你一文读懂 Python range(),再也不被边界坑哭!

野牛程序员让你一文读懂 Python range(),再也不被边界坑哭!

野牛程序员让你一文读懂 Python range(),再也不被边界坑哭!

range()是 Python 中的一个神奇函数,常用于for循环,但很多人总是在边界上踩坑!今天一次讲清楚,让for循环更丝滑!

 range() 是什么?

range()是 Python 内置的一个生成整数序列的函数,常用于for循环。它的基本格式是:

start:起始值,包含这个数(默认是0)。

stop:结束值,不包含这个数!(很多人容易踩坑)

step:步长,决定每次增加多少(默认是1)。

野牛程序员讲基础用法

只有一个参数 stop

注意:range(5)默认从 0 开始,到5 之前结束,也就是不包含 5

输出:

指定起始值 start

输出:

记住:start=2,stop=6,所以包含 2,不包含 6

 step 步长的秘密

正步长

输出:

步长为正数时,必须满足start < stop,否则for循环不会执行!

负步长

输出:

步长为负数时,必须满足start > stop,否则啥也不会输出!

 range() 常见坑

停止值不包含

输出:

坑点:range(1, 5)不会打印 5,因为stop是不包含的!

负步长方向错误

啥也不输出!

坑点:步长是-1,但start=1 < stop=10,方向反了,Python 直接罢工!

 step=0 会崩溃

会报错:ValueError: range() arg 3 must not be zero

坑点:步长step不能是 0,否则会陷入死循环!

 range() + for 的高级玩法

用 range() 生成索引

输出:

用range(len(列表))遍历索引,让代码更灵活!

 range() 结合 list() 转换

输出:

range()只是个“生成器”,要变成列表,得用list(range())!

反向遍历

输出:

步长-1让range()倒序执行,非常实用!

野牛程序员总结

range()是 Pythonfor循环的好搭档,但它的边界规则经常让人迷惑:stop不包含,range(1, 5)只到4!

步长step不能是,否则直接炸!

负步长要start > stop,否则啥也不输出!

学会range(),轻松掌控for循环,让代码更高效!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OCakVaKeNtkFf3-YrKMhXWCQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券