Python三元表达式、列表推导式、生成器表达式
2024-09-05 03:13:42
1. 三元表达式
name=input('姓名>>: ')
res='SB' if name == 'aaaa' else 'NB'
print(res)
2. 列表推导式
#1、示例
egg_list=[]
for i in range(10):
egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2、语法
[expression for item1 in iterable1 if condition1
for item2 in iterable2 if condition2
...
for itemN in iterableN if conditionN
]
类似于
res=[]
for item1 in iterable1:
if condition1:
for item2 in iterable2:
if condition2
...
for itemN in iterableN:
if conditionN:
res.append(expression) #3、优点:方便,改变了编程习惯,可称之为声明式编程
3. 生成器表达式
#1、把列表推导式的[]换成()就是生成器表达式 #2、示例:生一筐鸡蛋变成给你一只老母鸡,用的时候就下蛋,这也是生成器的特性
>>> chicken=('鸡蛋%s' %i for i in range(5))
>>> chicken
<generator object <genexpr> at 0x10143f200>
>>> next(chicken)
'鸡蛋0'
>>> list(chicken) #因chicken可迭代,因而可以转成列表
['鸡蛋1', '鸡蛋2', '鸡蛋3', '鸡蛋4',] #3、优点:省内存,一次只产生一个值在内存中
最新文章
- JAX-RS规范-常用注解浅析(WebServer)
- org.apache.commons.lang.StringUtils类
- 云服务器上安装配置Filezilla Server的坑!
- Python 之 lambda 函数
- C++编程思想重点笔记(上)
- [办公自动化]PDF大小不一如何调整
- 浅议iOS网络数据解析
- 写一个 docker 打击一系列手册
- PHP语言开发微信公众平台(订阅号)之开启开发者模式
- Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)
- Java课程设计--GUI密码生成器201521123033
- python 将os.getcwd()获取路径中的\替换成\\
- MyCP(课下作业,必做)
- Java中的char占用几个字节
- 钉钉扫码登录web网站
- linux pstree命令
- Python交换a,b两个数值的三种方式
- vim配置go语法高亮
- DevExpress v18.1新版亮点——WinForms篇(二)
- [转]五分钟看懂UML类图与类的关系详解