python中的range 用法详解

在c、Java中需要循环遍历时,常见如下形式的代码:

for(i=0;i++;i<length(str)){
...}

在python中直接可以调用内置函数range,如下代码会输出0到num-1的数,range的关键理解点:
range是左闭右开区间

for i in range(10):
print(i)

在这里插入图片描述
指定区间:
在这里插入图片描述
指定区间和步长:
在这里插入图片描述
结合range(len(target)) 遍历,target可以是任何可迭代对象:

target = [5,4,3,2,100]
 for i in range(len(target)):
     print(target[i])

在这里插入图片描述
range函数具有生成器的特性,如果为了实现下面这个for循环,而事先在内存中准备好从1到10000000000000000000000000这么多个数,那么你的内存肯定溢出了,死机是正常的。不用怀疑,大多数情况下程序都是这么干的。不同的是,range在内部的实现机制上,并不会直接在内存中一次性生成如此多的数,而是需要一个就生成一个,然后返回一个,这样不但节省了内存,也防止了上面例子中数字过大而无法表示的情况。
在这里插入图片描述
range的步长为负数时,区间的写法:
在这里插入图片描述
规律:
当步长为正数时,区间是[min,max,step]
当步长为负数时,区间时[max,min,step]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值