zoukankan      html  css  js  c++  java
  • Python 的range和xrange

    Pythonrangexrange是不同的,你正确使用了吗?两者的区别是微妙的。为了简单起见,这里省略两个函数的可选参数startsteprange返回值和想象的一样:一个从0开始指定长度的连续整数序列。然而,xrange返回一个"xrange 对象",该对象非常类似于迭代器。如果你曾经研究过迭代器,则两者的区别就很明显了。下面是个例子:

    range(1000000)

    xrange(1000000)

    range(1000000)会返回一个100万个整数的序列,而xrange(1000000)会返回(本质上)一个迭代序列。显然xrange支持迭代,而range不支持。这种收益是很小的,因为(用Python手册的话说)"当需要元素的时候,xrange仍然要创建它们"。但是无论需要的序列多大,每次遍历时xrange消耗相同量的内存。在遍历极端的大序列时,这是相对于range的很大优势。另一个优势也是明显的:当你的代码在遍历已经产生的序列时调用break的话, xrange显然比range要好,因为xrange会消耗更少的内存。

  • 相关阅读:
    Nginx之常用操作
    linux之信息查看
    KPI VS OKR
    python之jupyter安装与使用
    python进阶资源
    python之排序(sort/sorted)
    python之文件操作
    远程连接工具
    docker之本地连接
    Windows服务器连接
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786977.html
Copyright © 2011-2022 走看看