zoukankan      html  css  js  c++  java
  • python中range、xrange和randrange的区别

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

    xrange 
    函数说明:和range 的用法完全相同,但是返回的是一个生成器。在python3中已经由range取代xrange

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

    但是要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用。再循环中尽量使用 xrange 这样性能可以得到提高,除非你要返回一个列表。

    l=range(0,20)
    print l[0],l[5]#0 5
    
    for i in range(0,5):print i #0 1 2 3 4
    for i in xrange(0,5):print i #0 1 2 3 4

    关于randrange,用法和random一样,但返回是一个结果

    from random import randrange
    a=randrange(10,100,2)
    print a #32
  • 相关阅读:
    线性时间将两个有序链表合成一个有序链表(constant additional space)
    C++定义指针数组
    cmd运行java编译文件
    java的方法
    Java流程控制
    用户交互-Scanner
    Java的注释
    编译型语言和解释性语言
    JDK、JRE和JVM
    MarkDown的简单使用
  • 原文地址:https://www.cnblogs.com/ybf-yyj/p/8574193.html
Copyright © 2011-2022 走看看