xrange函数

原作者地址:https://blog.csdn.net/mvs2008/article/details/73693012

升级到python3的同学应该会注意到以前经常用的xrange没了!

是的,python3的range就是xrange。直接看效果!


[python]  view plain  copy
  1. Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 201620:53:40) [MSC v.1500 64 bit (AMD64)] on win32  
  2. Type "help""copyright""credits" or "license" for more information.  
  3. >>> type(range(10))  
  4. <type 'list'>  

python2中,range的返回值是list,这意味着内存将会分布相应的长度的空间给list。

[python]  view plain  copy
  1. >>> print(sys.version)  
  2. 3.5.3 (v3.5.3:1880cb95a742, Jan 16 201716:02:32) [MSC v.1900 64 bit (AMD64)]  
  3. >>> type(range(10))  
  4. <class 'range'>  

python3中返回的是一个对象,并没有将数据完全实例化,所以内存中只有一个对象的空间,对性能优化还是很有帮助的。


其实类似的改动是有很多的,例如:字典的items.

[python]  view plain  copy
  1. >>> print(sys.version)  
  2. 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 201620:53:40) [MSC v.1500 64 bit (AMD64)]  
  3. >>> a={'x':1}  
  4. >>> type(a.items())  
  5. <type 'list'>  

[python]  view plain  copy
  1. >>> print(sys.version)  
  2. 3.5.3 (v3.5.3:1880cb95a742, Jan 16 201716:02:32) [MSC v.1900 64 bit (AMD64)]  
  3. >>> a={'x':1}  
  4. >>> type(a.items())  
  5. <class 'dict_items'>  


当然了你也可以在python3写一个xrange(多此一举:-P)

[python]  view plain  copy
  1. def xrange(x):  
  2.     n=0  
  3.     while n<x:  
  4.         yield n  
  5.         n+=1  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值