Python中 range 和xrange的区别

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

  1. >>> range(5) 
  2. [0, 1, 2, 3, 4] 
  3. >>> range(1,5) 
  4. [1, 2, 3, 4] 
  5. >>> range(0,6,2)
  6. [0, 2, 4]


xrange
    函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器
xrange示例: 
 

    1. >>> xrange(5)
    2. xrange(5)
    3. >>> list(xrange(5))
    4. [0, 1, 2, 3, 4]
    5. >>> xrange(1,5)
    6. xrange(1, 5)
    7. >>> list(xrange(1,5))
    8. [1, 2, 3, 4]
    9. >>> xrange(0,6,2)
    10. xrange(0, 6, 2)
    11. >>> list(xrange(0,6,2))
    12. [0, 2, 4] 

要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间

上一篇:Python学习笔记


下一篇:两地调度之超易懂的贪心算法问题