說說 Python 的數值列表

1 range() 函式
range() 函式可以生成一系列的數字:
for v in range(1,10): print(v)
執行結果:

range() 函式會從我們所指定的第一個值開始數, 直到到達所指定的第二個值後停止,但不會包含第二個值。這就是程式語言中的差一行為。
2 建立數字列表
可以使用函式 list() 將 range() 函式的結果轉換為列表:
nums=list(range(1,10)) print(nums)
執行結果:

使用函式 range() 時, 我們還可指定步長 。 例如,下面的程式碼列印 1~10 內的奇數:
odd_nums=list(range(1,11,2)) print(odd_nums)
在這個示例中, 函式 range() 從 1 開始數, 然後不斷地加 2 ,所以執行結果為:

利用函式 range(),我們能夠建立任何需要的數字列表, 例如, 下面的程式碼建立了一個列表, 它包含前 10 個整數( 即 1~10 ) 的立方:
cubes=[] for v in range(1,11): cube=v**3 cubes.append(cube) print(cubes)
執行結果:

因為邏輯清晰易懂,所以我們可以去除臨時變數 cube,讓程式碼變得更簡潔:
cubes=[] for v in range(1,11): cubes.append(v**3) print(cubes)
有時候, 使用臨時變數會讓程式碼更易讀;而有的時候, 使用臨時變數只會讓程式碼無謂地變長。 我們首先應該編寫清晰易懂且能完成所需功能的程式碼; 等到程式碼稽核時, 再轉而考慮是否採用更高效的方法。
還有一種更簡潔的寫法,叫做 列表解析 。它會將 for 迴圈和建立新元素的程式碼合併為一行, 並且自動附加新元素。它的語法是, 首先指定一個描述性的列表名, 如 cubes; 然後, 指定一個左方括號, 並定義一個表示式, 用於生成你要儲存到列表中的值(如 v**3) 。 接下來, 編寫一個 for 迴圈, 用於給表示式提供值, 再加上右方括號 。 注意: 這裡的 for 語句末尾沒有冒號 。
cubes=[v**3 for v in range(1,11)] print(cubes)
執行結果:

3 統計計算
使用 Python 的統計函式,可以很快地找出數字列表的最大值、 最小值和總和:
nums=list(range(1,1000000)) print('最小值:'+str(min(nums))) print('最大值:'+str(max(nums))) print('總和:'+str(sum(nums)))
執行結果:

100 萬個數求和,不到 1s 就算好啦O(∩_∩)O~