說說 Python 的數值列表

1 range() 函數

range() 函數能夠生成一系列的數字:編程

for v in range(1,10):
    print(v)
複製代碼

運行結果:bash

range() 函數會從咱們所指定的第一個值開始數, 直到到達所指定的第二個值後中止,但不會包含第二個值。這就是編程語言中的差一行爲。app

2 建立數字列表

能夠使用函數 list() 將 range() 函數的結果轉換爲列表:編程語言

nums=list(range(1,10))
print(nums)
複製代碼

運行結果: 函數

使用函數 range() 時, 咱們還可指定步長 。 例如,下面的代碼打印 1~10 內的奇數:ui

odd_nums=list(range(1,11,2))
print(odd_nums)
複製代碼

在這個示例中, 函數 range() 從 1 開始數, 而後不斷地加 2 ,因此運行結果爲: spa

利用函數 range(),咱們可以建立任何須要的數字列表, 例如, 下面的代碼建立了一個列表, 它包含前 10 個整數( 即 1~10 ) 的立方:3d

cubes=[]
for v in range(1,11):
    cube=v**3
    cubes.append(cube)
print(cubes)
複製代碼

運行結果:code

由於邏輯清晰易懂,因此咱們能夠去除臨時變量 cube,讓代碼變得更簡潔:cdn

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~

相關文章
相關標籤/搜索