我是靠谱客的博主 狂野指甲油,这篇文章主要介绍10 生成器表达式和列表推导式列表推导式字典推导式,现在分享给大家,希望可以做个参考。

生成器表达式和列表推导式不同:

  1. 括号不同,生成器表达式用(),列表推导式不用
  2. 返回的值不一样,生成器表达式返回一个生成器,几乎不占内存。列表推导式一下子把值全取出来,占内存大。

列表推导式

[满足条件的元素相关的操作 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(老母鸡)
forin 老母鸡:
    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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部