首页 > 代码库 > 生成器表达式练习
生成器表达式练习
有两个列表,分别存放来老男孩报名学习linux和python课程的学生名字
linux=[‘钢弹‘,‘小壁虎‘,‘小虎比‘,‘alex‘,‘wupeiqi‘,‘yuanhao‘]
python=[‘dragon‘,‘钢弹‘,‘zhejiangF4‘,‘小虎比‘]
问题一:得出既报名linux又报名python的学生列表
问题二:得出只报名linux,而没有报名python的学生列表
问题三:得出只报名python,而没有报名linux的学生列表
1 linux = [‘钢弹‘, ‘小壁虎‘, ‘小虎比‘, ‘alex‘, ‘wupeiqi‘, ‘yuanhao‘] 2 python = [‘dragon‘, ‘钢弹‘, ‘zhejiangF4‘, ‘小虎比‘] 3 # 问题一:得出既报名linux又报名python的学生列表 4 In_Linux_Python=(i for i in linux if i in python) #使用生成器表达式,得到一个生成器内存地址 5 print(list(In_Linux_Python)) #将生成器强制转化成列表输出 6 # 问题二:得出只报名linux,而没有报名python的学生列表 7 In_Linux_Not_Python = (i for i in linux if i not in python) 8 print(list(In_Linux_Not_Python)) 9 # 问题三:得出只报名python,而没有报名linux的学生列表 10 In_Python_Not_Linux = (i for i in python if i not in linux) 11 print(list(In_Python_Not_Linux))
shares={ ‘IBM‘:36.6, ‘lenovo‘:27.3, ‘huawei‘:40.3, ‘oldboy‘:3.2, ‘ocean‘:20.1 }
问题一:得出股票价格大于30的股票名字列表
问题二:求出所有股票的总价格
l=[10,2,3,4,5,6,7]
得到一个新列表l1,新列表中每个元素是l中对应每个元素值的平方
过滤出l1中大于40的值,然后求和
1 shares={ 2 ‘IBM‘:36.6, 3 ‘lenovo‘:27.3, 4 ‘huawei‘:40.3, 5 ‘oldboy‘:3.2, 6 ‘ocean‘:20.1 7 } 8 # 问题一:得出股票价格大于30的股票名字列表 9 share1 = (i for i in shares if shares[i]>30) 10 print(list(share1)) 11 12 # 问题二:求出所有股票的总价格 13 share1 = (shares[i] for i in shares ) 14 print(sum(list(share1))) 15 16 l=[10,2,3,4,5,6,7] 17 # 得到一个新列表l1,新列表中每个元素是l中对应每个元素值的平方 18 # 过滤出l1中大于40的值,然后求和 19 ll = (i**2 for i in l ) 20 ll = list(ll) 21 print(ll) 22 ll_sum = (i for i in ll if i >40) 23 print(sum(list(ll_sum)))
生成器表达式练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。