zoukankan      html  css  js  c++  java
  • 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相同。

  • 相关阅读:
    Spring使用@Value注解各种类型的值
    Jdom生成xml文件时的特殊字符问题
    将博客搬至CSDN
    ubuntu/mint添加字体
    linux保持ssh连接
    servlet 重定向与转发区别
    u盘写保护
    修改默认终端
    sudo apt-get update 无法获得锁
    logback多线程日志MDC
  • 原文地址:https://www.cnblogs.com/ralap7/p/8949878.html
Copyright © 2011-2022 走看看