列表推导式
[每一个元素或和元素相关的操作 for 元素 in 可迭代类型] #遍历之后挨个处理
[满足条件的元素相关的操作 for 元素 in 可迭代类型 if 元素相关的条件]#筛选功能


l = [i for i in range(30) if i % 3 == 0] print(l) l1 =[i**2 for i in range(30) if i % 3 == 0] print(l1) # [0, 3, 6, 9, 12, 15, 18, 21, 24, 27] # [0, 9, 36, 81, 144, 225, 324, 441, 576, 729] naems = [['tom','vdns','sdfds','eiwheds','hdusuhif','euiw','ersd'],['wewdkjhuwswewe','wweeroiso']] r = [name for l in naems for name in l if name.count('e') ==2] print(r)#['eiwheds', 'wweeroiso']
字典推导式


#将一个字典的key和value对调 ca = {'a':10,'b':34} m_f = {ca[k]:k for k in ca} print(m_f)#{10: 'a', 34: 'b'}


ca = {'a':10,'b':34,'A':7,'Z':3} m_f = {k.lower():ca.get(k.lower(),0) + ca.get(k.upper(),0) for k in ca} print(m_f)#{'a': 17, 'b': 34, 'z': 3}
集合推导式
tp = {x**2 for x in [-1,1,2]}
print(tp)#{1, 4}
自带去重