本帖最后由 尹亮 于 2018-12-1 17:37 编辑
1、列表生成式
[Python] 纯文本查看 复制代码 [“函数” for i in "序列" if "判断语句"]
举例说明:
[Python] 纯文本查看 复制代码 # 对[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] 纯文本查看 复制代码 {k:v for k,v in "序列" if "判断语句"]
[Python] 纯文本查看 复制代码 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] 纯文本查看 复制代码 s = {1,2,3,4,5,6,7}
print({i**2 for i in s })
|