zhuan:https://blog.csdn.net/humanking7/article/details/45950967

range 
函数说明:range([start,] stop[, step]),根据startstop指定的范围以及step设定的步长,生成一个列表。 
eg:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(2,10)
[2, 3, 4, 5, 6, 7, 8, 9]
>>> range(2,10,2)
[2, 4, 6, 8]
>>> type(_)
<type 'list'>

xrange 
函数说明:和range 的用法完全相同,但是返回的是一个生成器。 
eg:

>>> xrange(10)
xrange(10)
>>> xrange(2,10)
xrange(2, 10)
>>> xrange(2,10,2)
xrange(2, 10, 2)
>>> type(_)
<type 'xrange'>
>>> list(xrange(2, 10, 2))
[2, 4, 6, 8]

但是要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用。

>>> r = range(0,50)
>>> r
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
>>> type(r)
<type 'list'>
>>> print r[0],r[49]
0 49
>>> xr = xrange(0,50)
>>> xr
xrange(50)
>>> type(xr)
<type 'xrange'>
>>> print xr[0],xr[49]
0 49
>>> list(xr) == r
True

最新文章

  1. Linux 桌面系统字体配置要略
  2. 一道算法题目, 二行代码, Binary Tree
  3. java Http编程小结
  4. 如何使用highmaps制作中国地图
  5. selenium+python自动化之pycharm
  6. C++实现离散余弦变换(参数为Eigen矩阵)
  7. 使用socket实现信用卡程序和迷你购物商城
  8. C#_dropdownlist_1
  9. Haskell 输入和输出
  10. Android弹性ScrollView
  11. Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1) 错误 解决方案(android-ndk)
  12. linux伪文件与proc文件
  13. 【C++】浅谈三大特性之一继承(一)
  14. 将电脑文件复制到vm虚拟机中,然后安装步骤
  15. POJ 1486二分图的必要边
  16. Git详解及github与gitlab使用
  17. 初学python之路-day06
  18. Linux常用监控命令简介 - top
  19. delphi异常捕获try except语句 和 try finally语句用法
  20. python 学习笔记之@property

热门文章

  1. TensorFlow-GPU环境配置之一——安装Ubuntu双系统
  2. 【CV论文阅读】Unsupervised deep embedding for clustering analysis
  3. win7如何更改语言教程
  4. [TypeScript] Define Custom Type Guard Functions in TypeScript
  5. 关于android中的单位(dp、sp)
  6. HDU 5407 CRB and Candies(LCM +最大素因子求逆元)
  7. web 开发之js---JS变量也要注意初始化
  8. VELT-0.1.6开发:载入根文件系统
  9. iOS开发——常见BUG——导航控制器中的子控制器设置StatusBar状态失效的问题
  10. java Bean及其使用