Python:三元表达式、列表推导式和生成器表达式
三元表达式
语法格式
如下:
为真时的结果 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:三元表达式、列表推导式和生成器表达式的更多相关文章
- python 三元表达式 列表推导式,生成器表达式。递归,匿名函数, 内置函数
三元表达式 三元表达式仅应用于: 1.条件成立返回一个值 2.条件不成立返回一个值 res = x if x>y else y print(res) name= input("姓名&g ...
- python基础17_列表推导式 vs 生成器表达式
[ ] 列表推导式,是用简单的语法来生成列表, ( ) 生成器表达式,是用简单的语法创建个生成器. 外观上仅括号不一样. 虽然写起来方便,但是读起来稍显费力,另外,不易调试. # 列表推导式 prin ...
- python之三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(r ...
- python 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
http://www.cnblogs.com/linhaifeng/articles/7580830.html 三元表达式.列表推导式.生成器表达式.递归.匿名函数.内置函数
- python 三元表达式、列表推导式、生成器表达式
一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='mm' if name == 'hahah' else 'NB' print( ...
- python基础知识15---三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
阅读目录 一 三元表达式.列表推导式.生成器表达式 二 递归与二分法 三 匿名函数 四 内置函数 五 阶段性练习 一. 三元表达式.列表推导式.生成器表达式 1 三元表达式 name=input('姓 ...
- Python3 三元表达式、列表推导式、生成器表达式
Python3 三元表达式.列表推导式.生成器表达式 三元表达式 表达式中,有三个元素 name = input("请输入姓名: ")ret = '输入正确' if name == ...
- Python_迭代器、生成器、列表推导式,生成器表达式
1.迭代器 (1)可迭代对象 s1 = ' for i in s1: print(i) 可迭代对象 示例结果: D:\Python36\python.exe "E:/Python/课堂视频/ ...
- python之旅:三元表达式、列表推导式、生成器表达式、函数递归、匿名函数、内置函数
三元表达式 #以下是比较大小,并返回值 def max2(x,y): if x > y: return x else: return y res=max2(10,11) print(res) # ...
- Python三元表达式、列表推导式、生成器表达式
1. 三元表达式 name=input('姓名>>: ') res='SB' if name == 'aaaa' else 'NB' print(res) 2. 列表推导式 #1.示例 e ...
随机推荐
- IDEA图标大全
IntelliJ IDEA 2019.3版本以来各种小图标的含义 Common Icon Description Class Abstract class Groovy class Annotat ...
- 最优化之凸优化之Bregman算法
本文介绍了Bregman迭代算法,Linearized Bregman算法(及在求解Basis Pursuit问题中的应用)和Split Bregman算法(及在求解图像TV滤波问题中的应用). 由于 ...
- Robot Framework(1)- 入门介绍
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html RF 的介绍 R ...
- Elasticsearch SSL认证/证书制作
制作目的 在上一篇<elasticsearch7.X x-pack破解>中,我们启用了x-pack模块,elasticsearch集群中,如果使用了x-pack,那么集群中的各节点之间通讯 ...
- 网络编程杂谈之TCP协议
TCP协议属于网络分层中的传输层,传输层作用的就是建立端口与端口的通信,而其下一层网络层的主要作用是建立"主机到主机"的通信,所以在我们日常进行网络编程时只要确定主机和端口,就能实 ...
- JavaScript之倔强的字符串
关于倔强的JavaScript字符串:不可以被修改 我们是字符串 我们的口号是:你可以消灭我,但是你不能改变我 JavaScript字符串是不可改变的,当真是这样的吗? 让我们来试验一下. var n ...
- 02 . Mysql基础操作及增删改查
SQL简介 SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,SQL语言由IBM开发. SQL语句四大 ...
- Rocket - diplomacy - LazyModule的组织方式
https://mp.weixin.qq.com/s/vaDUekxkFkOJLmzg5jCngw 简单介绍LazyModule/LazyModuleImp的组织方式. 1. LazyModule L ...
- Rocket - tilelink - Fragmenter
https://mp.weixin.qq.com/s/kNQrhlf33AErK7IzalnUDw 简单介绍Fragmenter的实现. 1. 基本介绍 用于把上游节点地址空间范 ...
- 使用RTL进行硬件模型编程的局限性
https://mp.weixin.qq.com/s/Nj_d3hwgNX4kWVtKsqMSWg 硬件模型编程,即Hardware Model Programming.在RTL抽象级别 ...