一、三元表达式

三元表达式,也称为if,else的紧凑形式。具体用法如下:

def max(a,b):if a>b:return aelse:return bdef max(a,b):return a if a>b else b  

上面这两个函数实现的功能是完全一样的。第二个函数中  a if a>b else b 就是一个三元表达式。 左边是条件为真时返回的值,中间是判断条件,右边是条件假返回的值。

二、列表推导式

大致的格式如下  [表达式 for 变量 in 列表 if 条件] ,其中if条件是可选的。

我们先来看看列表推导式的一些简单例子:

print([i**2 for i in range(10)])
#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]print([i**2 for i in range(10) if i>=5] )
#[25, 36, 49, 64, 81]print([x*y for x in [1,2,3] for y in [4,5,6]])
#[4, 5, 6, 8, 10, 12, 12, 15, 18]

其实既然有列表推导式,那么同样也有集合推导式,字典推导式

print({x*y for x in [1,2,3] for y in [4,5,6]})
#{4, 5, 6, 8, 10, 12, 15, 18}#实现字典的key和value快速交换:
dic1={'a':1,'b':2}
dic2={v: k for k, v in dic1.items()}
print(dic2)  #{1: 'a', 2: 'b'}

三、生成器表达式

将列表推导式的[]换成()就变成生成器表达式了。

a=(i*i for i in range(10))
print(a)          #<generator object <genexpr> at 0x027DE180>
print(list(a))  #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]    

转载于:https://www.cnblogs.com/linshuhui/p/8987356.html

Python 三元表达式、列表推导式、生成器表达式相关推荐

  1. Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数

    本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...

  2. mysql数据字典生成器_「python技术」列表推导、生成器表达式和字典推导的差异及其示例

    #开往春天新创作大赛# 前言 列表推导式构建列表的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列.自python2.7以后,列表推导和生成器表达式的概念就应用到了字典上,所以就有了字典推导, ...

  3. format函数python生成列表_python 全栈开发,Day14(列表推导式,生成器表达式,内置函数)...

    一.列表生成式 生成1-100的列表 li = [] for i in range(1,101): li.append(i) print(li) 执行输出: [1,2,3...] 生成python1期 ...

  4. python之生成器(~函数,列表推导式,生成器表达式)

    一.生成器 概念:生成器的是实质就是迭代器 1.生成器的贴点和迭代器一样,取值方式也和迭代器一样. 2.生成器一般由生成器函数或者声称其表达式来创建,生成器其实就是手写的迭代器. 3.在python中 ...

  5. 列表推导式 生成器表达式

    推导式 comprehensions(又称解析式):是 Python 中很强大的.很受欢迎的特性,具有语言简洁,速度快等优点 列表推导式 就是一个简单的公式,我们用这个列表推导式,把你好几行的for循 ...

  6. Python 列表推导 、生成器表达式与声明式编程

    1.****列表推导********* 用到函数的一个常见的操作是将其用于列表的所有项,并使用结果创建一个新的列表.例如: # coding=utf-8 ''' ****列表推导********* 用 ...

  7. python关键字列表的表达式,python 列表推导和生成器表达式的使用

    序列 序列是指一组数据,按存放类型分为容器序列与扁平序列,按能否被修改分为不可变序列与可变序列. 容器序列与扁平序列 容器序列存放的是对象的引用,包括list.tuple.collections.de ...

  8. Python 中的列表推导式

    Python 中的列表推导式 简单用法 添加多个条件 多个列表使用 替换 Reduce 和 Lambda 嵌套列表推导式 列表推导式是一种 Python 构造,可减少生成新列表或过滤现有列表所需的代码 ...

  9. python三元表达式求值_python 三元表达式的 列表推导式 生成器推导式

    python中三元表达式的语法如下 ===if else result = x if condition else y 另外一种三元表达式,比较少见 result = (x, y)[condition ...

  10. python 优雅的 列表推导式(for in if)生成器表达式 集合推导式和字典推导式 列表动态构建器(不用先创建空容器【空列表】,再一个一个append()进去那样麻烦了)

    文章目录 用于创建列表也是非常方便的,比如获取当前连接的所有Intel Realsense摄像头序列号 写代码的时候偶然将这段优雅的代码码了出来,感觉很神奇,就去搜索,原来这种语法叫做列表推导式(fo ...

最新文章

  1. 不只会卖萌:皮卡丘们真的能改造你的大脑
  2. python程序员在公司都是做什么的-为什么企业很难招聘到好的python程序员?
  3. VTK:可视化算法之CarotidFlowGlyphs
  4. Effective C++ 条款44
  5. Linux常用命令(第二版) --帮助命令
  6. JAVA Pattern和Matcher 的用法
  7. loinc编码_通用检验编码系统(Universal Laboratory Test Code System)于香港电子健康纪录计划的应用...
  8. iPhone折叠屏长啥样?网友迫不及待做出一个渲染视频
  9. wordpress如何让百度快速收录_安顺如何发布信息百度收录在首页
  10. linux 虚拟机设置静态ip
  11. 自用的项目管控周报模板
  12. 史上最全股票指标图文详解(原创)
  13. 纽博涛在CSDN上开通博客啦
  14. linux gz是什么文件,gz是什么
  15. xp计算机u盘重装系统,解决戴尔电脑u盘重装系统xp教程
  16. 【CSS3】渐变背景
  17. 解决联想小新air14装虚拟机镜像时蓝屏问题
  18. SA387Gr11Cl2是什么材质
  19. Cannot find module 'chalk'
  20. 黑马程序员————IO流4(day21)

热门文章

  1. hadoop2.6.4 在ubuntu14.04下的搭建
  2. Python学习札记(十一) Function2 函数定义
  3. 用聚合数据API快速写出小程序
  4. 设计模式总结(Java)—— 单例模式
  5. iOS开发之-- 从当前隐藏导航界面push到下一个显示导航界面出现闪一下的问题
  6. 自动化运维专题之zabbix课程内容大纲
  7. @Controller 不能访问到
  8. IIS7.5 配置MVC3.0 伪静态,不能访问html伪静态页面
  9. 执行计划中各字段各模块描述
  10. 【原创】构建高性能ASP.NET站点 第五章—性能调优综述(后篇)