• range与xrange的区别


    一、Python中range()与xrange()有什么区别

     range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列

    range(6)
    #[0, 1, 2, 3, 4, 5]
    
    range(1,6)
    #[1, 2, 3, 4, 5]
    
    range(1,6,2)
    #[1, 3, 5]
    #也就是说range()返回的是个列表
    

     xrange用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器

    xrange(6)
    #xrange(6)
    list(xrange(6))
    #[0, 1, 2, 3, 4, 5]
    
    xrange(1,6)
    #xrange(1, 6)
    list(xrange(1,6))
    #[1, 2, 3, 4, 5]
    
    xrange(1,6,2)
    #xrange(1, 7, 2)
    list(xrange(1,6,2))
    #[1, 3, 5]
    #xrange()返回的是个生成器
    

     由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,但是后来的Python3版本已经去掉了xrange()函数,而range()函数也返回的是生成器。

  • 相关阅读:
    方法的重载
    构造方法
    方法与主方法
    类的一般形式
    多维数组
    如何使用数组
    数组的创建以及初始化
    流程控制之break、continue、return的用法
    流程控制之循环结构
    流程控制值选择结构
  • 原文地址:https://www.cnblogs.com/always-fight/p/9351025.html
Copyright © 2020-2023  润新知