1. 程式人生 > >小白汪:python列表推導&列表解析學習

小白汪:python列表推導&列表解析學習

列表推導式

列表推導式提供了從序列建立列表的簡單途徑。通常應用程式將一些操作應用於某個序列的每個元素,用其獲得的結果作為生成新列表的元素,或者根據確定的判定條件建立子序列。

每個列表推導式都在 for 之後跟一個表示式,然後有零到多個 for 或 if 子句。返回結果是一個根據表達從其後的 for 和 if 上下文環境中生成出來的列表。

如果希望表示式推匯出一個元組,就必須使用括號。

vec=[3,5,6]
vec1=[3*x for x in vec]
print(vec1) #[9, 15, 18]

vec2=[[x,x**2]for x in vec]  #這裡**代表其平方
print(vec2)   #[[3, 9], [5, 25], [6, 36]]

同樣,我們可以對列表裡的每個元素逐個呼叫某方法,也可以用if作為過濾器

巢狀列表解析

Python的列表還可以巢狀。

以下例項展示了3X4的矩陣列表:

matrix =[[1,2,3,3],
         [4,5,6,5],
         [7,8,9,0],
         ]
matrixZhuanzhi=[[row[i] for row in matrix] for i in range(4)]
print(matrixZhuanzhi)  #[[1, 4, 7], [2, 5, 8], [3, 6, 9], [3, 5, 0]]