我是靠谱客的博主 狂野指甲油,最近开发中收集的这篇文章主要介绍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 生成器表达式和列表推导式列表推导式字典推导式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部