各种推导式

30以内中所有能被3整除的数

g = [i for i in range(30) if i % 3 == 0 ]#完整的列表推导式
print(g)
View Code

30以内中所有能被3整除的数的平方

g = [i*i for i in range(30) if i % 3 == 0 ]
print(g)
View Code

找到列表中所有含有s两个字符串

l =[['dsfdsa','husserhi','shdhfs','hfrues'],['sdshfhsi','sgfygs','sdfsd']]
trt = [name for i in l for name in i if name.count('s') == 2]
print(trt)
View Code

对于生成器而言。

只需要把中括号改为小括号就行。、

字典推导式

将一个key和value对调

d = {'a':'23','d':'12'}
d_c = {d[k]:k for k in d}
print(d_c)
View Code

合并大小写对应的value值,并将key统一成小写

d = {'a':23,'d':12,'A':234,'G':123}
f = {k.lower():d.get(k.lower,0) + d.get(k.upper(),0) for k in d}
print(f)
View Code

集合推导式(集合特点去重)

g = {l*l for l in [12,34,23,2,3,23,54,4,4,4,4,4,4]}
print(g)
View Code

如果是列表推导式,则没有去重功能。会全部打印出来

 

posted @ 2019-08-21 23:31  套你大象  阅读(125)  评论(0)    收藏  举报