小白汪:python列表推導&列表解析學習
阿新 • • 發佈:2018-12-12
列表推導式
列表推導式提供了從序列建立列表的簡單途徑。通常應用程式將一些操作應用於某個序列的每個元素,用其獲得的結果作為生成新列表的元素,或者根據確定的判定條件建立子序列。
每個列表推導式都在 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]]