【編測編學】零基礎學python_10_列表(建立數值列表 )
建立數值列表
需要儲存一組數字的原因有很多,例如,在遊戲中,需要跟蹤每個角色的位置,還可能需要跟蹤玩家的幾個最高得分。在資料視覺化中,處理的幾乎都是由數字(如溫度、距離、人口數量、經度和緯度等)組成的集合。
列表非常適合用於儲存數字集合,而Python提供了很多工具,可幫助你高效地處理數字列表。明白如何有效地使用這些工具後,即便列表包含數百萬個元素,你編寫的程式碼也能執行得很好。
1.使用函式range()
Python函式range() 讓你能夠輕鬆地生成一系列的數字。例如,可以像下面這樣使用函式range() 來列印一系列的數字:
上述程式碼好像應該列印數字1~5,但實際上它不會列印數字5:
在這個示例中,range() 只是列印數字1~4,這是你在程式語言中經常看到的差一行為的結果。函式range() 讓Python從你指定的第一個值開始數,並在到達你指定的第二個值後停止,因此輸出不包含第二個值(這裡為5)。
要列印數字1~5,需要使用range(1,6) :
這樣,輸出將從1開始,到5結束:
使用range() 時,如果輸出不符合預期,請嘗試將指定的值加1或減1。
2.使用range() 建立數字列表
要建立數字列表,可使用函式list() 將range() 的結果直接轉換為列表。如果將range() 作為list() 的引數,輸出將為一個數字列表。
在前一節的示例中,我們列印了一系列數字。要將這些數字轉換為一個列表,可使用list() :
結果如下:
使用函式range() 時,還可指定步長。例如,下面的程式碼列印1~10內的偶數:
在這個示例中,函式range() 從2開始數,然後不斷地加2,直到達到或超過終值(11),因此輸出如下:
使用函式range() 幾乎能夠建立任何需要的數字集,例如,如何建立一個列表,其中包含前10個整數(即1~10)的平方呢?在Python中,兩個星號(** )表示乘方運算。下面的程式碼演示瞭如何將前10個整數的平方加入到一個列表中:
首先,我們建立了一個空列表;接下來,使用函式range() 讓Python遍歷1~10的值。在迴圈中,計算當前值的平方,並將結果儲存到變數square 中。然後,將新計算得到的平方值附加到列表squares 末尾。最後,迴圈結束後,列印列表squares :
為讓這些程式碼更簡潔,可不使用臨時變數square ,而直接將每個計算得到的值附加到列表末尾:
兩種程式碼等效。在迴圈中,計算每個值的平方,並立即將結果附加到列表squares 的末尾。
建立更復雜的列表時,可使用上述兩種方法中的任何一種。有時候,使用臨時變數會讓程式碼更易讀;而在其他情況下,這樣做只會讓程式碼無謂地變長。你首先應該考慮的是,編寫清晰易懂且能完成所需功能的程式碼;等到稽核程式碼時,再考慮採用更高效的方法。
3.對數字列表執行簡單的統計計算
有幾個專門用於處理數字列表的Python函式。例如,你可以輕鬆地找出數字列表的最大值、最小值和總和:
注意:出於版面考慮,本節使用的數字列表都很短,但這裡介紹的知識也適用於包含數百萬個數字的列表。
4.列表解析
前面介紹的生成列表squares 的方式包含三四行程式碼,而列表解析讓你只需編寫一行程式碼就能生成這樣的列表。列表析將for 迴圈和建立新元素的程式碼合併成一行,並自動附加新元素。面向初學者的書籍並非都會介紹列表解析,這裡之所以介紹列表解析,是因為等你開始閱讀他人編寫的程式碼時,很可能會遇到它們。
下面的示例使用列表解析建立你在前面看到的平方數列表:
要使用這種語法,首先指定一個描述性的列表名,如squares ;然後,指定一個左方括號,並定義一個表示式,用於生成你要儲存到列表中的值。在這個示例中,表示式為value**2 ,它計算平方值。接下來,編寫一個for 迴圈,用於給表示式提供值,再加上右方括號。在這個示例中,for 迴圈為for value in range(1,11) ,它將值1~10提供給表示式value**2 。請注意,這裡的for 語句末尾沒有冒號,結果與你在前面看到的平方數列表相同:
要建立自己的列表解析,需要經過一定的練習,但能夠熟練地建立常規列表後,你會發現這樣做是完全值得的。當你覺得編寫三四行程式碼來生成列表有點繁複時,就應考慮建立
列表解析
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69985967/viewspace-2736840/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【編測編學】零基礎學python_09_列表(操作列表之遍歷列表)Python
- 【編測編學】零基礎學python_06_列表(認識和使用列表)Python
- 【編測編學】零基礎學python_08_列表(排序+反轉+長度)Python排序
- 【編測編學】零基礎學python_07_列表(修改、新增和刪除元素)Python
- 【編測編學】零基礎學python_11_列表(切片+遍歷切片+複製)Python
- 【編測編學】零基礎學python_04_字串(刪除空白)Python字串
- 【編測編學】零基礎學python_02_字串(大小寫轉換)Python字串
- 【編測編學】零基礎學python_03_字串(拼接+換行+製表符)Python字串
- Python零基礎學習筆記(十五)——list(列表)Python筆記
- C++--Win32--列表編輯--獲取列表內容--獲取列表行數--修改列表內容C++Win32
- Emacs 基本編輯鍵列表Mac
- Python基礎學習3——列表Python
- 【編測編學】MySQL資料庫基礎知識MySql資料庫
- python學習-數字和列表Python
- 【編測編學】MySQL資料庫基礎知識2MySql資料庫
- Part 7: 編輯任務列表
- Python基礎-列表操作(2):列表的遍歷和數字列表Python
- oracle學習列表Oracle
- Python資料型別(數字,字串,[列表],(元組),{字典:字典值},{列表,列表2})Python資料型別字串
- 金融學書籍列表(學習)
- linux學習列表Linux
- SQL Server 計數器 閥值列表SQLServer
- 仿 iOS 列表的編輯功能 – 排序篇iOS排序
- 仿 iOS 列表的編輯功能 - 排序篇iOS排序
- [總結]FFMPEG視音訊編解碼零基礎學習方法音訊
- 【編測編學】介面測試必備面試題(上)面試題
- 【編測編學】如何做好大資料測試大資料
- 【編測編學】軟體測試的就業如何?就業
- Python 學習之列表Python
- Python學習-初始列表Python
- 【編測編學】自動化測試面試必背(上)面試
- 【編測編學】自動化測試面試必背(下)面試
- 仿 iOS 列表的編輯功能 – 刪除篇iOS
- 仿 iOS 列表的編輯功能 - 刪除篇iOS
- 列表切片賦值給另一個變數賦值變數
- 「學習筆記」迴圈、列表筆記
- python學習筆記——列表Python筆記
- 【編測編學】介面測試必備面試題必背(下)面試題