首頁 >後端開發 >Python教學 >Python中range() 函數的使用介紹(附程式碼)

Python中range() 函數的使用介紹(附程式碼)

不言
不言轉載
2019-04-15 10:27:003263瀏覽

這篇文章帶給大家的內容是關於Python中range()函數的使用介紹(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

range()是python的內建函數,用的地方挺多的,目前我經常會在for循環中作為循環的次數來使用,其實range()的用法不僅僅如此,本文給大家介紹下。

如果你確實需要遍歷一個數字序列,內建函數 <span class="pre">range()</span> 會派上用場。它產生算術級數:

>>> for i in range(5):
...     print(i)
...
01
2
3
4

給定的終止數值並不在要產生的序列裡;<span class="pre">range(10)</span> 會產生10個值,並且是以合法的索引產生一個長度為10的序列。 range也可以以另一個數字開頭,或以指定的幅度增加(甚至是負數;有時這也被稱為'步進')

range(5, 10)
   5, 6, 7, 8, 9

range(0, 10, 3)
   0, 3, 6, 9

range(-10, -100, -30)
  -10, -40, -70

要以序列的索引來迭代,您可以將 <span class="pre">range()</span> 和 <span class="pre">len()</span> 組合如下:

>>> a = [&#39;Mary&#39;, &#39;had&#39;, &#39;a&#39;, &#39;little&#39;, &#39;lamb&#39;]
>>> for i in range(len(a)):
...     print(i, a[i])
...
Mary
had
a
little
lamb

然而,在大多數這類情況下,使用<span class="pre">enumerate()</span> 函數比較方便,請參考 循環的技巧 。

如果你只印range,會出現奇怪的結果:

>>> print(range(10))
range(0, 10)

<span class="pre">range()</span> 所回傳的物件在許多方面表現得像一個列表,但實際上卻不是。此物件會在你迭代它時基於所希望的序列返回連續的項,但它沒有真正產生列表,這樣就能節省空間。

我們說這樣的物件是 可迭代的 ,也就是說,適合作為函數和結構體的參數,這些函數和結構體期望在迭代結束之前可以從中取得連續的元素。我們已經看到 <span class="pre">for</span> 語句就是這樣一個迭代器。函數 <span class="pre">list()</span> 是另一個;它從可迭代物件建立清單。

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

後面,我們會看到更多傳回可迭代物件的函數,和以可迭代物件作為參數的函數。 (相關推薦:python教學

以上是Python中range() 函數的使用介紹(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除