三元表达式

语法格式

如下:

为真时的结果 if 判断条件 else 为假时的结果

例子

name = input('姓名>>: ')
res = '请进' if name == '张三' else '再见'
print(res)

结果如下

姓名>>: 张三
请进
姓名>>: 李四
再见

列表推导式

列表推导式用于使用其他列表创建一个新列表。

语法格式

如下:

# 格式1
[表达式 for 变量 in 列表] # 格式2,对列表进行判断帅选
[表达式 for 变量 in 列表 if 条件]

例1

# 求1-9的平方组成的列表
l = [x**2 for x in range(1, 10)]
print(l)

结果如下:

[1, 4, 9, 16, 25, 36, 49, 64, 81]

例2

# 求1-9中偶数的平方组成的列表
l = [x**2 for x in range(1, 10) if x % 2 == 0]
print(l)

结果如下:

[4, 16, 36, 64]

生成器表达式

把列表推导式的[]换成()就是生成器表达式,返回对象不是一个列表,而是一个生成器。

优点:省内存,一次只产生一个值在内存中。

语法格式

如下:

# 格式1
(表达式 for 变量 in 列表) # 格式2,对列表进行判断筛选
(表达式 for 变量 in 列表 if 条件)

例子

>>> l = (x**2 for x in range(1, 10) if x % 2 == 0)
>>> next(l)
4
>>> next(l)
16
>>> next(l)
36
>>> next(l)
64
>>> next(l)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration

Python:三元表达式、列表推导式和生成器表达式的更多相关文章

  1. python 三元表达式 列表推导式,生成器表达式。递归,匿名函数, 内置函数

    三元表达式 三元表达式仅应用于: 1.条件成立返回一个值 2.条件不成立返回一个值 res = x if x>y else y print(res) name= input("姓名&g ...

  2. python基础17_列表推导式 vs 生成器表达式

    [ ] 列表推导式,是用简单的语法来生成列表, ( ) 生成器表达式,是用简单的语法创建个生成器. 外观上仅括号不一样. 虽然写起来方便,但是读起来稍显费力,另外,不易调试. # 列表推导式 prin ...

  3. python之三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

    一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(r ...

  4. python 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

    http://www.cnblogs.com/linhaifeng/articles/7580830.html 三元表达式.列表推导式.生成器表达式.递归.匿名函数.内置函数

  5. python 三元表达式、列表推导式、生成器表达式

    一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='mm' if name == 'hahah' else 'NB' print( ...

  6. python基础知识15---三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

    阅读目录 一 三元表达式.列表推导式.生成器表达式 二 递归与二分法 三 匿名函数 四 内置函数 五 阶段性练习 一. 三元表达式.列表推导式.生成器表达式 1 三元表达式 name=input('姓 ...

  7. Python3 三元表达式、列表推导式、生成器表达式

    Python3 三元表达式.列表推导式.生成器表达式 三元表达式 表达式中,有三个元素 name = input("请输入姓名: ")ret = '输入正确' if name == ...

  8. Python_迭代器、生成器、列表推导式,生成器表达式

    1.迭代器 (1)可迭代对象 s1 = ' for i in s1: print(i) 可迭代对象 示例结果: D:\Python36\python.exe "E:/Python/课堂视频/ ...

  9. python之旅:三元表达式、列表推导式、生成器表达式、函数递归、匿名函数、内置函数

    三元表达式 #以下是比较大小,并返回值 def max2(x,y): if x > y: return x else: return y res=max2(10,11) print(res) # ...

  10. Python三元表达式、列表推导式、生成器表达式

    1. 三元表达式 name=input('姓名>>: ') res='SB' if name == 'aaaa' else 'NB' print(res) 2. 列表推导式 #1.示例 e ...

随机推荐

  1. Java常用设计模式详解1--单例模式

    单例模式:指一个类有且仅有一个实例 由于单例模式只允许有一个实例,所以单例类就不可通过new来创建,而所有对象都默认有一个无参的构造函数可以创建对象,所以单例类不仅不能提供public的构造方法,还需 ...

  2. BZOJ1082 二分搜索

    1082: [SCOI2005]栅栏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2247  Solved: 952[Submit][Status] ...

  3. 【JUC】synchronizated和lock的区别&新lock的优势

    原始构成 synchronized是关键字,属于JVM层面 javap -c 的结果显示 synchronized是可重入锁 11:是正常退出 17:是异常退出[保证不产生死锁和底层故障] Lock是 ...

  4. [Objective-C] 010_Foundation框架之NSSet与NSMutableSet

    在Cocoa Foundation中的NSSet和NSMutableSet ,和NSArray功能性质一样,用于存储对象属于集合.但是NSSet和NSMutableSet是无序的, 保证数据的唯一性, ...

  5. List<T> 的扩展方法

    //List<T>.Take(m)      //取出 前m行 IEnumerable<Person> takeList = lstPerson.Take(4); foreac ...

  6. 利用metasploit复现永恒之蓝

    环境 目标机器:windows 7 ,172.16.136.169 攻击机:安装了Metasploit 的 ubuntu16.04 ,172.16.136.130 (安装Metasploit:在 Ub ...

  7. Docker: GUI 应用,Ubuntu 上如何运行呢?

    操作系统: Ubuntu 18.04 运行镜像: continuumio/anaconda3, based on debian Step 1) 安装 Docker # update the apt p ...

  8. 01 . Redis简介及部署主从复制

    简介 Remote Dictionary Server, 翻译为远程字典服务, Redis是一个完全开源的基于Key-Value的NoSQL存储系统,他是一个使用ANSIC语言编写的,遵守BSD协议, ...

  9. 2017-ICLR-NAS_with_RL-Neural Architecture Search with Reinforcement Learning-论文阅读

    NAS with RL 2017-ICLR-Neural Architecture Search with Reinforcement Learning Google Brain Quoc V . L ...

  10. Rocket - debug - Example: Quick Access

    https://mp.weixin.qq.com/s/SxmX-CY2tqvEqZuAg-EXiQ 介绍riscv-debug的使用实例:配置Quick Access功能. 1. Quick Acce ...