range() 函數能夠生成一系列的數字:編程
for v in range(1,10):
print(v)
複製代碼
運行結果:bash
range() 函數會從咱們所指定的第一個值開始數, 直到到達所指定的第二個值後中止,但不會包含第二個值。這就是編程語言中的差一行爲。app
能夠使用函數 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)
複製代碼
運行結果:
使用 Python 的統計函數,能夠很快地找出數字列表的最大值、 最小值和總和:
nums=list(range(1,1000000))
print('最小值:'+str(min(nums)))
print('最大值:'+str(max(nums)))
print('總和:'+str(sum(nums)))
複製代碼
運行結果:
100 萬個數求和,不到 1s 就算好啦O(∩_∩)O~