首頁  >  文章  >  後端開發  >  python列表產生式用法

python列表產生式用法

巴扎黑
巴扎黑原創
2016-11-26 09:39:221619瀏覽

列表產生式:List Comprehensions,是python中非常非常簡單但卻最常用的一個功能。

根據名字就能知道,列表產生式所回傳的應該是list類型,它能用最簡單、最易懂的寫法產生所需的列表。

例:我需要得到1-100這個list的所有數的平方所組成的一個list。此時可用for循環:

Python代碼  

a = []  

for value in range(1,  

print(a)  

  此時得到的a就是1-100中每個數的平方所組成的數組。這個方法很簡單,但是使用列表生成式會比較簡單。

Python代碼  

a = [value * value fo​​r value in range(1,101)]  

print(a)  

所得到的方法與上一個不同的方法與上一個的方法。

 

  在 a = [value * value for value in range(1,101)] 中,value * value是一個表達式,value這個數來自於表達式後面的for循環,for循環每循環一次,就計算一次表達式,最後將for迴圈中每次迴圈的數的計算結果都保存在一個列表中。最後賦值給a。

 

 

在列表產生式中,也可以使用多次循環。例如:

 

Python程式碼  

a = [x * y for x in range(1,3) for y in range(3,55)

終端代碼  

[3, 4, 6, 8]  

 range(1,3)為[1, 2],range(3,5)為[3,4],x來自range(1,3),y來自range(3,5)

 結果為:1*3, 1*4, 2*3, 2*4

 

 此外,也可在清單產生式中增加條件判斷:

 此外,也可在清單產生式中增加條件判斷:

Python a = [value * value fo​​r value in range(1, 11) if value % 2 == 0]  

print(a)  🠎 36, 64, 100]

  在for迴圈後面為value值增加條件選擇。此範例是計算1-10中偶數的平方

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn