列表(四)-列表推導式
阿新 • • 發佈:2020-12-01
1.列表推導式的基本格式:
變數名= [表示式 for 變數 in 列表]
或者
變數名= [表示式 for 變數 in 列表 if 條件]
2.執行流程:
遍歷出列表中的內容給變數,表示式根據變數值進行邏輯運算
或者遍歷列表中的內容給變數,然後進行判斷,符合的值在給表示式
# 練習1:將lst中每一個元素進行平方後放入到一個新列表中 lst = [1, 2, 3, 4, 5] l2 = [] for i in lst: l2.append(i*i) print(l2) # 推導式 l2 = [i*i for i in lst] # 練習2:將lst中的奇數放到一個新列表中 lst = [1, 2, 3, 4, 5,6,7,8] # 推導式 l3 = [i for i in lst if i%2==1] # 練習3.將一個巢狀列表轉換成一個一維列表 #lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 轉換成:lst2=[1, 2, 3, 4, 5, 6, 7, 8, 9] lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 傳統方式 l4 = [] for i in lst: for j in i: l4.append(j) # 推導式 l4 = [j for i in lst for j in i] # 練習5:現在有一列表lst = [[1,2,3],[4,5,6],[7,8,9]]要求出[1,4,7] 和 [1,5,9] 元素,思考如何取出 lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] lst_1 = [i[0] for i in lst] lst_2 = [lst[i][i] for i in range(len(lst))]
3 推導式好處和不足
- 優點:簡化程式碼,提高程式碼的簡潔性
- 不足:降低程式碼的可讀性