Python学习之路--推导式

列表推导式

[每一个元素或和元素相关的操作 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']
View Code

字典推导式

#将一个字典的key和value对调
ca = {'a':10,'b':34}
m_f = {ca[k]:k for k in ca}
print(m_f)#{10: 'a', 34: 'b'}
View Code
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}
View Code

集合推导式

tp = {x**2 for x in [-1,1,2]}
print(tp)#{1, 4}
自带去重

posted on 2019-05-28 22:22  久加  阅读(159)  评论(0)    收藏  举报