1. 程式人生 > >day14 列表推導式

day14 列表推導式

tom 不出 mce [] TE ali 結果 del int

列表推導式

優點:

1,節省代碼,一行搞定.
2看著高大上.
缺點:
不好排錯.

凡是用列表推導式構造的列表對象,用其他方式都可構建.,非常復雜的列表,列表推導式是構建不出的.

分類:
[變量(加工後的變量) for 變量 in iterable] 循環模式
[變量(加工後的變量) for 變量 in iterable if 條件] 篩選模式

#用for循環寫
#寫1到14 li=[] for i in range(1,14): li.append(i) print(li) #用列表推導式寫 l1=[i for i in range(1,14)] print (l1)

l1=["
python%s期" % i for i in range(1,5)] print(l1) # 結果:[‘python1期‘, ‘python2期‘, ‘python3期‘, ‘python4期‘]

# 能被3整除的數
l1 = [i for i in range(1, 31) if i % 3 == 0]
print(l1)

# 10以內所有數的平方
print([i*i for i in range(11)])

# 30以內所有能被3整除的數的平方
print([i**2 for i in range(31) if i % 3 == 0])

篩選模式

li=["
python%s期" % i for i in range(1,14) if i%2==0] print(li)
# 寫出元素裏面有兩個e的
names = [[Tom, Billy, Jefferson, Andrew, Wesley, Steven, Joe],
         [Alice, Jill, Ana, Wendy, Jennifer, Sherry, Eva]]
# 用篩選模式寫
l2=[name for i in names  for name in i if name.count("e")==2]
print
(l2) # 用for循環寫 li=[] for i in names: for name in i: if name.count("e")==2: li.append(name) print (li)

day14 列表推導式