1. 函數range( )的使用
range( )函數可以生成一系列的數字:
for value in range(1, 5): print(value)
Note:運行結果是打印數字1到4,即該函數的運行結果到指定的第二個值停止,不包含指定的第二個值。從數學角度表示就是[第一的指定值,第二個指定值)
2. 使用range( )函數創建數字列表
2.1 函數list( )可以將range( )的結果直接轉換為列表:
numbers = list(range(1, 6)) print(numbers)
運行結果:
[1, 2, 3, 4, 5]
2.2 range( )函數中可以繼續指定第三個值,即步長:
numbers = list(range(2, 11, 2)) # 從2開始取值,不斷加2,直到達到或超過11 print(numbers)
運行結果:
[2, 4, 6, 8, 10]
2.3 對創建的數值進行運算:
squares = [] # 創建一個空列表 for value in range(1, 11): # 遍歷1到10 squares.append(value**2) # 就算當前值的平方並存如列表末尾 print(squares) # 打印列表
運行結果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3. 對數字列表進行簡單的統計
print(min(squares)) # 求列表中最小值並打印
print(max(squares)) # 求列表中最大值並打印
print(sum(squares)) # 對列表中的值求和並打印
4. 列表解析
2中對列表中的值求平方的代碼頁可以簡化為:
squares = [value**2 for value in range(1, 11)] print(squares)
運行結果和上邊一樣,但代碼塊得到了很大的簡化。
# 我覺得可以理解為將for循環的代碼塊倒着依次放入創建的空列表的方括號中。寫代碼時感覺容易遺漏的就是[],一旦漏寫就會報錯。
練習發現的問題 :
做練習時寫了這樣一行代碼,創建一個列表,包含數字1~1 000 000,於是就模仿前邊的示例寫:
list_test = [for num in range(1, 1000001)]
運行之后報錯還不知道哪里錯了。
結果是在for之前還得寫要存儲到列表中的值num,即使不對該值有進一步的處理。
list_test = [num for num in range(1, 1000001)] # 正確