作者:苍松

原文:https://www.cnblogs.com/tkqasn/p/5977653.html

推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。共有三种推导,在Python2和3中都有支持:

  • 列表(list)推导式

  • 字典(dict)推导式

  • 集合(set)推导式

一、列表推导式

1、使用[]生成list

基本格式

variable = [out_exp_res for out_exp in input_list if out_exp == 2]  out_exp_res:  列表生成元素表达式,可以是有返回值的函数。  for out_exp in input_list:  迭代input_list将out_exp传入out_exp_res表达式中。  if out_exp == 2:  根据条件过滤哪些值可以。

例一:

def squared(x):    return x*xmultiples = [squared(i) for i in range(30) if i % 3 is 0]print multiples#  Output: [0, 9, 36, 81, 144, 225, 324, 441, 576, 729]

2、使用()生成generator

将俩表推导式的[]改成()即可得到生成器。

multiples = (i for i in range(30) if i % 3 is 0)print(type(multiples))#  Output: 

二、字典推导式

字典推导和列表推导的使用方法是类似的,只不中括号该改成大括号。直接举例说明:

例子一:大小写key合并

mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}mcase_frequency = {    k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0)    for k in mcase.keys()    if k.lower() in ['a','b']}print mcase_frequency#  Output: {'a': 17, 'b': 34}

例子二:快速更换key和value

mcase = {'a': 10, 'b': 34}mcase_frequency = {v: k for k, v in mcase.items()}print mcase_frequency#  Output: {10: 'a', 34: 'b'}

三、集合推导式

它们跟列表推导式也是类似的。唯一的区别在于它使用大括号{}。

例一:

squared = {x**2 for x in [1, 1, 2]}print(squared)# Output: set([1, 4])

觉得有用,点个在看呗!

字典推导式_聊一聊:python的各种推导式(列表推导式、字典推导式、集合推导式)...相关推荐

  1. 字典添加数据_【Python基础学习】4. 数据类型之字典及其操作

    知行校园汇 记录学习.分享干货.吐槽人生! 关注 相关说明 文章内容:Python数据类型之字典及其操作 作者博客:csdn.cxhit.com www.cxhit.com 1. 什么是字典 在Pyt ...

  2. python列表推导式_聊一聊:python的各种推导式(列表推导式、字典推导式、集合推导式)...

    作者:苍松 原文:https://www.cnblogs.com/tkqasn/p/5977653.html 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可 ...

  3. python 链表推导式_五--python之数据结构(Data Structures)

    1.列表list:a=[value1,value2,value3,value4,-] 方法论methods:list.append(x) #列表追加,等同于a[len(a):] = [x]list.e ...

  4. python交互式和文件式_使用Python创建和自动化交互式仪表盘

    python交互式和文件式 In this tutorial, I will be creating an automated, interactive dashboard of Texas COVI ...

  5. 运行python程序的两种方式交互式和文件式_执行Python程序的两种方式

    交互式(了解) 交互式环境下,敲完一条命令按下enter键马上能看到结果,调试程序方便.程序无法永久保存,关掉cmd窗口数据就消失了. 命令行式(了解) 打开文本编辑器,在文本编辑器中写入一串字符. ...

  6. python字典操作函数_【python】字典的操作方法和函数

    一.字典内置函数&方法 Python字典包含了以下内置函数: 1.cmp(dict1, dict2):比较两个字典元素. 2.len(dict):计算字典元素个数,即键的总数. 3.str(d ...

  7. 小于三位的正整数 正则式_蓝调解码|样板文章,投稿必读:计算思维培养的“递进式”活动设计研究...

    本号已推荐<中国信息技术教育>2020年3月刊发表. 计算思维培养的"递进式"活动设计研究   王静文  淄博实验中学 255090 崔国亮  淄博实验中学  2550 ...

  8. python字典zip函数_python中如何使用zip函数将列表合并为字典?

    python的作用很强大,列表和字典是两个不同类型的代码格式,虽然列表不能直接转换为字典,但是可以通过zip函数将列表合并为字典,实现列表转换为字典的需求.本文介绍zip函数实现列表合并为字典的原理和 ...

  9. Python 空元组、空列表、空字典、空集合

    定义 元组(tuple): 不可变序列,一旦建立不能修改元组中的元素. 列表[list]: 可变序列,可以添加和删除其中的元素. 集合{set}: 集合是一个可变无序集合,没有重复元素.支持数学中的集 ...

最新文章

  1. 参数服务器训练基本理论
  2. 关于SAP BW提示“Carry out repairs in non-original only
  3. csvtk:命令行下表格统计分析、数据筛选、替换、整理神器
  4. 石墨烯新新新应用,MIT大规模生产细胞大小机器人,有感知能存储
  5. 给一个不多于5位的正整数 要求_java练习题 打卡第5天
  6. 【刷题】BZOJ 4657 tower
  7. 徐家骏:华为十年感悟
  8. sudo apt-get 与 yum
  9. 计算机无法识别打印机usb,win10系统打印机usb无法识别的办法
  10. matlab数值微积分与方程数值求解,六、数值微积分与方程求解(MATLAB学习笔记)
  11. Activity启动过程(一)AMS
  12. android 如何启动apk,Android JS启动APK
  13. cad卸载_CAD一键卸载工具
  14. 菜鸡前端面试题整理日记
  15. Flutter 仿网易云音乐App
  16. Matlab绘制多个折线图的方法
  17. Javascript高级程序设计--读书笔记--第八章BOM
  18. Windows10独立显卡+核心显卡的三屏扩展输出
  19. jyzy noip模拟赛5.22-1,3
  20. 详解:502 Bad Gateway nginx/xxx

热门文章

  1. 人工智能可落地项目总结
  2. jittor和pytorch网络对比之context_encoder
  3. Python_模块介绍
  4. Kubernetes的HTTPS和证书问题,汇总
  5. linux环境搭建seafile客户端自动上传文件
  6. Bitbucket免费的私有仓库
  7. Can't connect to local MySQL Server throught socket '/var/run/mysqld/mysqld.sock'(2)
  8. 35岁以前成功的12条黄金法则
  9. python作图一览
  10. 7.13 cf573 补题