概述
生成器表达式和列表推导式不同:
- 括号不同,生成器表达式用(),列表推导式不用
- 返回的值不一样,生成器表达式返回一个生成器,几乎不占内存。列表推导式一下子把值全取出来,占内存大。
列表推导式
[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素相关的条件] #带删选功能
egg_list=['鸡蛋%s'%i for i in range(10)] #列表推导式
print(egg_list)
g = (i for i in range(10)) #生成器表达式
print(g)
for i in g:
print(i)
老母鸡=('鸡蛋%s'%i for i in range(5)) #生成器表达式
print(老母鸡)
for 蛋 in 老母鸡:
print(蛋)
输出:
字典推导式
# 例一:将一个字典的key和value对调
mcase = {'a': 10, 'b': 34}
#{10:'a' , 34:'b'}
mcase_frequency = {mcase[k]: k for k in mcase}
print(mcase_frequency)
输出:
# 例二:合并大小写对应的value值,将k统一成小写
mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
#{'a':10+7,'b':34,'z':3}
mcase_frequency = {k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0) for k in mcase}
print(mcase_frequency)
输出:
集合推导式
#集合推导式,自带结果去重功能
squared = {x**2 for x in [1, -1, 2]}
print(squared)
输出:
最后
以上就是狂野指甲油为你收集整理的10 生成器表达式和列表推导式列表推导式字典推导式的全部内容,希望文章能够帮你解决10 生成器表达式和列表推导式列表推导式字典推导式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复