Python編程入門之 range() 函數

2020-12-16 Cwqway

If you do need to iterate over a sequence of numbers, the built-in function range() comes in handy. It generates arithmetic progressions:如果你需要迭代一個數字序列,內置函數Range()就方便了。它產生算術級數序列:

>>> for i in range(5):

... print(i)

...

0

1

2

3

4

The given end point is never part of the generated sequence; range(10) generates 10 values, the legal indices for items of a sequence of length 10. It is possible to let the range start at another number, or to specify a different increment (even negative; sometimes this is called the 『step』):給定的終點永遠不是生成序列的一部分;範圍(10)生成10個值,長度為10的序列的項目的合法索引。可以讓範圍從另一個數開始,或者指定一個不同的增量(甚至是負的;有時這被稱為「步驟」):

range(5, 10)

5, 6, 7, 8, 9

range(0, 10, 3)

0, 3, 6, 9

range(-10, -100, -30)

-10, -40, -70

To iterate over the indices of a sequence, you can combine range() and len() as follows:若要遍歷序列的索引,可以將range()和len()組合如下:

>>> a = ['Mary', 'had', 'a', 'little', 'lamb']

>>> for i in range(len(a)):

... print(i, a[i])

...

0 Mary

1 had

2 a

3 little

4 lamb

In most such cases, however, it is convenient to use the enumerate() function, see Looping Techniques.然而,在大多數這樣的情況下,使用numberate()函數是方便的,參見循環技術。

A strange thing happens if you just print a range:如果你只列印一個範圍,就會發生奇怪的事情:

>>> print(range(10))

range(0, 10) #要達到預期,可以用變量如for i in range(10):print(i)

In many ways the object returned by range() behaves as if it is a list, but in fact it isn’t. It is an object which returns the successive items of the desired sequence when you iterate over it, but it doesn’t really make the list, thus saving space.多數情況,Range-()返回的對象的行為好像是一個列表,但實際上不是。返回的是一個對象,它在迭代時返回所需序列的連續項,但它並沒有真正列出列表,從而節省了空間。

We say such an object is iterable, that is, suitable as a target for functions and constructs that expect something from which they can obtain successive items until the supply is exhausted. We have seen that the for statement is such an iterator. The function list() is another; it creates lists from iterables:這樣的對象是可迭代的,也就是說,它適合於函數和構造的目標,這些函數和結構期望它們能夠獲得連續的項直到耗盡。我們已經看到for語句是一個迭代器。函數List()是另一個;它從迭代中創建列表:

>>> list(range(5))

[0, 1, 2, 3, 4]

相關焦點

  • Python的Range()函數(指南)
    range()函數的歷史雖然Python 2的range()和Python3中的range()共享了一個名字,但它們是完全不同的傢伙。事實上,Python 3中的range()只是Python 2中被稱為xrange的函數的重命名版本。
  • 白話 Python 的函數式編程
    今天和大家聊聊 Python 的函數式編程特性。
  • python入門基礎之lambda匿名函數詳解
    python入門基礎之lambda匿名函數詳解剛開始學習python的時候很多人可能對於lambda函數不了解,感覺和def很混亂,下面我來介紹一下lambda函數我從一下幾個方面來介紹lambda:1、lambda簡介2、lambda與def不同之處3、lambda的使用方法
  • 開始你的編程之旅吧!從Python入門講起……
    想要挑選一種語言開啟編程生涯,你可以考慮python,因為它的代碼非常簡潔可讀。我們會用語言給別人傳達一些信息,而編程也正是一種與計算機交流的語言。如果你需要與人類語言近乎相同的程式語言,那麼python適合你。當你和你的朋友說話時,你不需要在結尾加一個分號,也不需要提及你所談論的數據類型,這就是人類語言。
  • Python的range函數與for循環語句
    本篇介紹Python for循環語句和range函數的使用,文中主要討論for循環語句,Python的for循環語句類似於shell或是腳本語言中的foreach循環,可以迭代序列對象。使用range函數可以讓Python的for循環提供類似於傳統的for循環功能。通過本篇的學習,可以達成如下目標。
  • 零基礎學習Python_組織結構和range()函數
    python項目的組織結構一.工程結構先大概了解一下python基本運行機制。Python程序運行時不需要編譯成二進位代碼,而直接從源碼運行程序,簡單來說是,Python解釋器將源碼轉換為字節碼,然後再由解釋器來執行這些字節碼。
  • python編程入門,零基礎學習Python基礎教程
    這裡推薦這門python編程入門基礎教程,適合零基礎的同學學習!python軟體工程師都學什麼?自學Python,看視頻學的更快、更透徹一些,給你個課程大綱!階段二:Python高級編程和資料庫開發Python全棧開發與人工智慧之Python高級編程和資料庫開發知識學習內容包括:面向對象開發、Socket網絡編程、線程、進程、隊列、IO多路模型、Mysql資料庫開發等。
  • Python range()的解釋和可視化
    (與往常一樣,本文中的代碼來自Python 3)那麼range()在Python中到底是做什麼呢?range()是一個內置函數,這意味著Python是預先打包了它的。這個函數可以創建一個數字序列(稱為range對象)並返回它。當然,您可以將這組數字用於各種目的: 如下所示,range()實際上能很好地與循環一起使用。
  • Python入門基礎之socket多線程編程,TCP伺服器和客戶端通信
    在上一篇文章中,我介紹了一下python3 socket編程的基礎,包括TCP、UDP客戶端和伺服器的建立過程(連結在最下方)。不過那個只是單線程的,伺服器一次只能和一個客戶端會話,多個客戶端的話只能等待。我們平時的應用中,伺服器肯定是要並發的,所以,今天將介紹socket編程的多線程編程。
  • 1.2 python編程入門
    1.2 python編程入門一、基本數據結構1、數據結構2、列表(1)、創建列表(2)、列表索引(3)、訪問列表值
  • 如何入門Python之Python基礎教程詳解
    隨著人工智慧的發展,Python近兩年也是大火,越來越多的人加入到Python學習大軍,對於毫無基礎的人該如何入門Python呢?這裡整理了一些個人經驗和Python入門教程供大家參考。如果你是零基礎入門 Python 的話,建議初學者至少達到兩個目標: 會用,理解。
  • 一天快速入門 Python
    Python 是由Guido Van Rossum在 90 年代早期設計,現在是最常用的程式語言之一。特別是人工智慧的火熱,再加之它的語法簡潔且優美,實乃初學者入門AI必備的程式語言。#range()函數:遍歷數字序列,可以使用內置range()函數生成數列for i in range(5):print(i)#也可以使用range指定區間的值for i in range(2,6):print
  • Python並發編程初步
    本文中,蟲蟲給大家實例介紹一下Python的並發編程並發編程關於python並發編程,我們推薦優雅地創建並發程序三部曲:首先,編寫一個按順序執行任務的腳本。其次,腳本中的執行程序(耗時任務)提取為一個執行函數,並使用map函數調用。最後,使用並發模塊中的函數替換map即可。
  • Python中的函數式編程
    (英語:functional programming)或稱函數程序設計,又稱泛函編程,是一種編程範型,它將電腦運算視為數學上的函數計算,並且避免使用程序狀態以及易變對象。函數程式語言最重要的基礎是λ演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。
  • python高階函數:map、filter、reduce的替代品
    什麼是高階函數?高階函數是一種將函數作為參數,或者把函數作為結果返回的函數,map函數、sorted函數就是高階函數的典型例子。map函數在小編以前的文章中做過相應的知識分享。sorted函數是python的內置函數,它的可選參數key用於提供一個函數,它可以將函數應用到各個元素上進行排序。
  • 十六本python入門學習書籍推薦,python入門新手必看
    隨著人工智慧時代的到來,python程式語言一步登天衝到編程排行榜第一名,因此更多朋友想轉行學習python程式語言的朋友,可以一起看一下:python入門新手必看的十六本python入門學習書籍1、python基礎教程司維所著圖書:本書包括Python程序設計的方方面面,首先從Python
  • 寫Python 代碼不可不知的函數式編程技術
    選自 Medium作者:Raivat Shah參與:魔王、Jamin本文對 Python 中的函數式編程技術進行了簡單的入門介紹。近來,越來越多人使用函數式編程(functional programming)。因此,很多傳統的命令式語言(如 Java 和 Python)開始支持函數式編程技術。本文對 Python 中的函數式編程技術進行了簡單的入門介紹。本文適合對函數式編程有基本了解的讀者。
  • 寫 Python 代碼不可不知的函數式編程技術
    作者:Raivat Shah參與:魔王、Jamin本文對 Python 中的函數式編程技術進行了簡單的入門介紹。近來,越來越多人使用函數式編程(functional programming)。因此,很多傳統的命令式語言(如 Java 和 Python)開始支持函數式編程技術。
  • python+C、C++混合編程的應用
    混合編程的原理首先要說一下python只是一個語言規範,實際上python有很多實現:CPython是標準Python,是由C編寫的,python腳本被編譯成CPython字節碼,然後由虛擬機解釋執行,垃圾回收使用引用計數,我們談與C/C++混合編程實際指的是基於CPython解釋上的。
  • 小數點Python編程入門(數據分析)第十七期開始啦
    網上有很多python入門課程,POINT推出python課程又有什麼亮點呢?首先,最最重要的一點,老師靠譜!本次課程的老師飛柳是我多年好友,他也是我的python啟蒙老師。如果沒有他在python和數據分析方向的幫助,我也許不會走上專業數據分析師的道路。此次課程之所以這麼難產,主要就是在於請他出山很難,整整磨了將近半年。