Python的range和xrange

2021-03-02 w3cschool編程獅

  range函數說明:range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。

  range示例:

  xrange函數說明:語法上和range完全相同,所不同的是生成的不是一個數組,而是一個生成器。

  xrange示例:

  range和xrange都在循環時用的比較多,下面來分析一下他們在循環裡面的各自表現:

  如果循環時用range,由上面結果我們也可以看出,上來就會生成一個數組。若是元素個數少還可以接受,但是如果元素個數非常多,那豈不是要開闢很大的內存來存放這個數組?這對讓內存空間亞歷山大呀。

  如果使用xrange,xrange返回的是一個生成器,一邊循環一邊計算,每次只返回一個值,這樣就不必開闢這麼大的內存空間了。

  因此,在循環裡儘量使用xrange吧,隨著元素個數增多,xrange性能要比range好的多。

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

       文章連結https://www.cnblogs.com/ralap7/p/8949878.html

相關焦點

  • 【Python面試】 說說Python中xrange和range的區別?
    如果參考答案不夠好,或者有錯誤的話,麻煩大家可以在留言區給出自己的意見和討論,大家是要一起學習的 。廢話不多說,開始今天的題目:問:說說Python中xrange和range的區別?答:range()和xrange()都是在循環中使用,輸出結果一樣。
  • Python3的range比Python2的xrange功能更強大
    如果你在Python2和Python3之間切換使用,你可能會認為Python2中的xrange和Python3中的range功能是一樣的。看起來僅僅是把xrange更名為range罷了,是嗎?但是情況並非如此。與Python3的range相比,Python2的xrange有點受到限制了。
  • Python range()的解釋和可視化
    一個很好的例子是從xrange() (Python2)到range() (Python3)的過渡,新的語言特性通常比它們的前輩要好,但是xrange()在某些方面仍然佔上風。讓我們來看看它們比較的結果如何:Python中的range() 與 xrange(): 這些函數返回什麼雖然它們具有相同的功能,但它們返回值是其主要的區別。
  • Python的Range()函數(指南)
    range()函數的歷史雖然Python 2的range()和Python3中的range()共享了一個名字,但它們是完全不同的傢伙。事實上,Python 3中的range()只是Python 2中被稱為xrange的函數的重命名版本。
  • Python 2.x 與 Python 3.x 的區別
    Python 中的除法有兩個運算符,/ 和 // 首先來說下 / 除法:在 python 2.x 中 / 除法就跟我們熟悉的大多數語言,比如 Java、C 差不多,整數相除的結果是一個整數,把小數部分完全忽略掉,浮點數除法會保留小數點的部分得到一個浮點數的結果。在 python3.x 中 / 除法不再這麼做了,對於整數之間的相除,結果也會是浮點數。
  • Python裡的range原來是…
    面試過程中,偶爾也會有人問到range底層問題。那麼,今天我們來深入一下range。首先,Python 2.7* 和 Python 3.*對range的解釋是不同的!(敲黑板…) 其次,在Python3.
  • python數據分析師面試題選
    例舉幾個常用的python分析數據包及其作用數據處理和分析:NumPy, SciPy, Pandas機器學習:SciKit可視化: Matplotlib, Seaborn3.(這是由於python list儲存的是指向對象(至少需要16個字節)的指針(至少4個字節);而array中儲存的是單一變量(比如單精度浮點數為4個字節,雙精度為8)) b. array可以直接使用vector和matrix類型的處理函數,非常方便。8.
  • 【Python面試】談談對 Python3 和 Python2 的區別?​
    如果參考答案不夠好,或者有錯誤的話,麻煩大家可以在留言區給出自己的意見和討論,大家是要一起學習的 。廢話不多說,開始今天的題目:問:談談Python3 和 Python2 的區別?答:Python3跟Python2比,語法上就有很多區別,都需要特別注意,下面給大家列舉幾個常見的 。
  • Python3與Python2 區別
    : <type 'long'>#python3: <class 'int'>3、python3 round函數返回int類型,而python2 返回的是float類型print(type(round(2.1)))#python2: <type 'float'>#python3: <
  • python 列表和元組 還有range
    python 列表和元組主要內容:1. 列表的介紹2.元組和元組嵌套5. range1、列表的介紹列表是python的基礎數據類型之一 ,其他程式語言也有類似的數據類型。 比如JS中的數組、 java中的數組等等。 它是以[ ]括起來,,每個元素用' , '隔開而且可以存放各種數據類型。
  • 2020python面試題總結,內附12題及答案,輕輕鬆鬆找工作(10期)
    回答:python中的內存管理由Python專用堆空間管理。所有Python對象和數據結構都位於私有堆中。程式設計師無權訪問此私有堆。python解釋器代替了它。Python對象的堆空間分配是由Python的內存管理器完成的。核心API允許訪問一些工具,以便程式設計師進行編碼。Python還具有一個內置的垃圾收集器,該垃圾收集器回收所有未使用的內存,並使其可用於堆空間。
  • 零基礎學習Python_組織結構和range()函數
    python項目的組織結構一.工程結構編寫好一個工程,在第一次運行後,總會發現工程根目錄下生成了一個__pycache__文件夾,裡面是和py文件同名的各種 *.pyc 或者 *.pyo 文件。先大概了解一下python基本運行機制。Python程序運行時不需要編譯成二進位代碼,而直接從源碼運行程序,簡單來說是,Python解釋器將源碼轉換為字節碼,然後再由解釋器來執行這些字節碼。
  • Python 2 與 Python 3 的區別
    xrangePython 2中有 range 和 xrange 兩個方法。其區別在於,range返回一個list,在被調用的時候即返回整個序列;xrange返回一個iterator,在每次循環中生成序列的下一個數字。Python 3中不再支持 xrange 方法,Python 3中的 range 方法就相當於 Python 2中的 xrange 方法。
  • python基礎:range方法在Python2和Python3中的不同
    range()方法是Python中常用的方法, 但是在Python2和Python3中使用方法不同,下面看下它們的不同使用方法。
  • Python 2與Python 3的區別
    最近的項目開始用Python3寫了,也體會了一下2和3的區別。主要的一些區別在以下幾個方面:print函數整數相除Unicode異常處理xrangemap函數不支持has_keyprint函數Python 2中print是語句(statement),Python 3中print則變成了函數。
  • 代碼這樣寫更優雅(Python版)
    要寫出 Pythonic(優雅的、地道的、整潔的)代碼,還要平時多觀察那些大牛代碼,Github 上有很多非常優秀的原始碼值得閱讀,比如:requests、flask、tornado,筆者列舉一些常見的 Pythonic 寫法,希望能給你帶來一點啟迪。
  • Python 源碼閱讀:int
    (點擊上方藍字,快速關注我們)來源:伯樂在線 - wklken如有好文章投稿,請點擊 → 這裡了解詳情代碼我也僅僅是粗粗讀了一遍, 可能出現疏漏和理解錯誤
  • python:range沒有實數可以這麼辦
    學習python的大多知道,for i in range(b,e,s)中的b、e、s參數是必須是整數的,但有些時候就是需要小數,怎麼辦?
  • Python語言值得學習嗎?
    2、簡述解釋型和編譯型程式語言?可參考上一條的解釋內容。3、Python的解釋器種類以及相關特點?CPython:官方版本的解釋器。這個解釋器是用C語言開發的,所以叫CPython。在命令行下運行python就是啟動CPython解釋器。CPython是使用最廣的Python解釋器。