Python3 中内置函数 range() 用法扩展

Python 中内置函数 range() 用法扩展

首先 range 他是一个不可变的数字序列,通常被用于需要循环的特定次数的循环中,它的返回值是一个 range 对象.

>>> range(10)
range(0, 10)
>>> type(range(10))
<class 'range'>

range 函数可以接收 3 个参数,start/stop/step 顾名思义,三个参数分别为 开始/结束/步长 ,start/step 是可选择参数,不传入时 start 默认为 0,step 默认 为1.

>>> list(range(5))
[0, 1, 2, 3, 4, 5]
>>> list(range(1, 5))
[1, 2, 3, 4, 5]
# 在传入步长时,start 也要传入
# 不然会像下面的 list(range(5, -1)) 一样,得到的是个空值
>>> list(range(0, 10, 2))
[0, 2, 4, 6, 8]
>>> list(range(0, 5, -1))
[5, 4, 3, 2, 1, 0]
>>> list(range(0, -5, -1))
[0, -1, -2, -3, -4, -5]
# 倒序,如果补偿不为 -1 会得到一个空值
>>> list(range(5, -1, -1))
[5, 4, 3, 2, 1]
>>> list(range(5, -1))
[]

注意: range 包含的绝对值大小不能超过 sys.maxsize 限制的大小,否则会抛出 OverflowError 错误.

range 函数比 list/tuple 优势的在于它不需要储存整个数据,range 只要储存 start/stop/step,不管它的长度有多长,所以占用的内存比较小。

range 函数还有一些其他的功能,如: 他可以像列表一样切片、内容测试、索引、负索引以及值运算

>>> r = range(0, 20, 2)
>>> r
range(0, 20, 2)
# 判断是否在 range 对象中
>>> 11 in r
False
>>> 8 in r
True
# 正索引
>>> r[5]
10
# 负索引
>>> r[-1]
18
# 切片还是返回的 range 对象
>>> r[:5]
range(0, 10, 2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值