您好,登錄后才能下訂單哦!
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?列表生成式
一、生成列表[1, 4, 9, 16, 25, 36]
#?使用for?in?循環 L?=?[] for?i?in?range(1,7): ????L.append(i?*?i) print(L)?#?[1,?4,?9,?16,?25,?36] #?列表生成式 L?=?[i?*?i?for?i?in?range(1,7)] print(L)?#?[1,?4,?9,?16,?25,?36]
二、列表生成式中循環帶if嵌套,例如:不取余2的時候,與自身相乘
#使用for?in循環和if L?=?[] for?i?in?range(1,7): ????if?not?i?%?2: ????????L.append(i?*?i) print(L)?#[4,?16,?36] #?列表生成式 L?=?[i?*?i?for?i?in?range(1,7)?if?not?i?%?2] print(L)?#?[4,?16,?36]
三、支持雙重循環
#?雙重for?in循環 L?=?[] for?i?in?range(1,4): ????for?j?in?range(1,4): ????????L.append([i,j]) print(L)?#?[[1,?1],?[1,?2],?[1,?3],?[2,?1],?[2,?2],?[2,?3],?[3,?1],?[3,?2],?[3,?3]] #列表生成式 L?=?[?[i,j]?for?i?in?range(1,4)?for?j?in?range(1,4)] print(L)?#?[[1,?1],?[1,?2],?[1,?3],?[2,?1],?[2,?2],?[2,?3],?[3,?1],?[3,?2],?[3,?3]]
四、 雙重循環嵌套if
#?雙重循環嵌套if L?=?[] for?i?in?range(1,4): ????for?j?in?range(1,4): ????????if?not?i?==?j: ????????????L.append((i,j)) print(L)?#?[(1,?2),?(1,?3),?(2,?1),?(2,?3),?(3,?1),?(3,?2)] #?列表生成式 L?=?[?(i,j)?for?i?in?range(1,4)?for?j?in?range(1,4)?if?not?i?==?j] print(L)?#?[(1,?2),?(1,?3),?(2,?1),?(2,?3),?(3,?1),?(3,?2)]
五、列表中嵌套列表
#?for?in?循環實現 L2?=?[[1,2,3,4],[5,6,7,8],[9,10,11,12]] L?=?[] #?大循環取索引 for?i?in?range(4): ????L1?=?[] ????#?小循環取列表中的元素[1,2,3,4],[5,6,7,8],[9,10,11,12] ????for?j?in?L2: ????????L1.append(j[i]) ????L.append(L1) print(L)?#?[[1,?5,?9],?[2,?6,?10],?[3,?7,?11],?[4,?8,?12]] #列表生成式 L?=?[[?j[i]?for?j?in?L2?]?for?i?in?range(4)] print(L)?#?[[1,?5,?9],?[2,?6,?10],?[3,?7,?11],?[4,?8,?12]]
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。