Python中創建數值列表——參考Python編程從入門到實踐


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)]  # 正確
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM