A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 尹亮 于 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 })



1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马