• Python的range和xrange


    range

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

    range示例:

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

     

    xrange

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

    >>> xrange(6)
    xrange(6)
    >>> list(xrange(6))
    [0, 1, 2, 3, 4, 5]
    >>> xrange(0,6,2)
    xrange(0, 6, 2)
    >>> list(xrange(0,6,2))
    [0, 2, 4]
    

    range和xrange都在循环时用的比较多,下面来分析一下他们在循环里面的各自表现:

    如果循环时用range,由上面结果我们也可以看出,上来就会生成一个数组。若是元素个数少还可以接受,但是如果元素个数非常多,那岂不是要开辟很大的内存来存放这个数组?这对让内存空间亚历山大呀。

    如果使用xrange,xrange返回的是一个生成器,一边循环一边计算,每次只返回一个值,这样就不必开辟这么大的内存空间了。

    因此,在循环里尽量使用xrange吧,随着元素个数增多,xrange性能要比range好的多。

    注意,在python3.x中,xrange被废除了,range功能跟xrange相同。

  • 相关阅读:
    JIRA Activity Stream连接到FishEye时路径不对
    职业分析
    Doublechecked locking解析
    Wireshark基本介绍和学习TCP三次握手
    插入排序算法
    Event.observe
    前端开发工程师如何在2013年里提升自己
    addEventListener(转)
    最好的HTML 5编码教程和参考手册分享
    XSRF 的攻击与防范
  • 原文地址:https://www.cnblogs.com/ralap7/p/8949878.html
Copyright © 2020-2023  润新知