Python中的列表、字典、集合生成式

545 阅读1分钟

1、列表生成式

[Python]
纯文本查看
复制代码
1
[“函数” for i in "序列" if "判断语句"]



举例说明:

[Python]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
# 对[2,10)之间的偶数求平方
[i**2 for i in range(2,10,2) ]
# 对[2,10)之间的偶数进行函数fun()操作
[fun(i) for i in range(2,10,2)]
# 对[2,10)之间的偶数且能被3整除的数求平方
[i**2 for i in range(2,10,2) if i%3==0]
# 对[2,10)之间的偶数且能被3整除的数进行fun()操作
[fun(i) for i in range(2,10,2) if i%3==0]
# 对满足isFun()函数且在[2,10)之间的偶数进行fun()操作
[fun(i) for i in range(2,10,2) if isFun(i)]
# [2,10)之间的偶数若满足isfun(i) 则进行Fun(i)否则进行fun2(2)
[fun1(i) if isFun(i) else fun2(i) for i in range(2,10,2)]


```
2、字典生成式

[Python]
纯文本查看
复制代码
1
{k:v for k,v in "序列" if "判断语句"]




[Python]
纯文本查看
复制代码
1
2
d1 = {'A':10, 'b':3, 'a':5, 'B':8, 'd':1}
print({k.lower(): d1.get(k.upper(),0)+d1.get(k.lower(),0) for k,v in d1.items()})



3、集合生成式
集合生成式与列表生成式类似,只是没有value值

[Python]
纯文本查看
复制代码
1
2
s = {1,2,3,4,5,6,7}
print({i**2 for i in s })

更多学习资料可关注:gzitcast