我是靠谱客的博主 外向溪流,最近开发中收集的这篇文章主要介绍day14-推导式和生成器表达式1.推导式规则2.列表推导式3.字典推导式 4.集合表达式5.生成器表达式,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1.推导式规则
[每一个元素或者是和元素相关的操作 for 元素 in 可迭代数据类型] ----------遍历之后挨个处理
[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素相关的条件] ----------筛选功能
2.列表推导式
# 原始的 num_list = [] for i in range(10): num_list.append(i) print(num_list) # 现在的---列表推导式 num_list = [i for i in range(10)] print(num_list)
简而言之,print([i for i in range(10)])就是一个列表推导式。
num_list = [i for i in range(30) if i % 3 == 0] print(num_list)
1 num_list = [i*i for i in range(30) if i % 3 ==0] 2 print(num_list)
names_list = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'], ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']] rcp = [name for lst in names_list for name in lst if name.count('e') == 2] print(rcp)
3.字典推导式
1 start_dev = {'a':1,'b':2} 2 end_dev = {start_dev[k]:k for k in start_dev} 3 print(end_dev)
1 dic = {'a':5,'B':10,'c':4,'A':5} 2 rcp = {k.lower():dic.get(k.lower(),0)+dic.get(k.upper(),0) for k in dic} 3 print(rcp) 4 # result:{'a': 10, 'b': 10, 'c': 4}
4.集合表达式
自带去重功能
1 squa = {x**2 for x in [1,-1,2]} 2 print(squa)
5.生成器表达式
# 生成器表达式 g = (i for i in range(10)) for i in g: print(i)
生成器表达式与列表推导式有什么不同?
1.括号不一样
2.返回的值不一样,生成器表达式几乎不占用内存。
转载于:https://www.cnblogs.com/missdx/p/11014613.html
最后
以上就是外向溪流为你收集整理的day14-推导式和生成器表达式1.推导式规则2.列表推导式3.字典推导式 4.集合表达式5.生成器表达式的全部内容,希望文章能够帮你解决day14-推导式和生成器表达式1.推导式规则2.列表推导式3.字典推导式 4.集合表达式5.生成器表达式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复