python一行写if else,以及if else列表推导
1. if else
1个if else
多个if else
(1)如果第一个if成立,则返回第一个if左边的结果
>>> b=0
>>> a = 1 if b==0 else 3 if b==1 else 4
>>> print(a)
1
(2)如果第一个if不成立,看第二个if,如果第二个if成立,则返回第二个if左边的else结果
>>> b=0
>>> a = 1 if b==1 else 3 if b==0 else 4
>>> print(a)
3
(3)如果第一个if不成立,看第二个if,如果第二个if不成立成立,则返回第二个if右边的else结果
>>> b=0
>>> a = 1 if b==1 else 3 if b==2 else 4
>>> print(a)
4
需要注意的是,if后面是判断表达式,else后是值,不能是表达式
2. if else列表推导
(1)for value in a_list在推导式的结尾
>>> a_list = [1,2,3]
>>> a = [value if value>1 else 4 if value==1 else 5 for value in a_list]
>>> print(a)
[4, 2, 3]
第一个if value>1,因为a_list中2,3都大于1,满足第一个if表达式,所以直接返回第一个if左边的结果
第二个if value==1,因为a_list中还剩‘1’这个元素没有处理,且满足第二个if表达式,所以返回第二个if左边else的结果,反之,则返回第二个if表达式右边else的结果
>>> a_list = [1,2,3]
>>> a = [value if value>1 else 4 if value==1 else 5 for value in a_list]
>>> print(a)
[4, 2, 3]
>>> a = [value if value>1 else 4 if value==2 else 5 for value in a_list]
>>> print(a)
[5, 2, 3]
(2)for value in a_list在if判断的左边
>>> a_list = ['ab','ac','bc']
>>> a = [value for value in a_list if 'a' in value]
>>> print(a)
['ab', 'ac']
或者
>>> a_list = ['ab','ac','bc']
>>> a = [value for value in a_list if value=='ab']
>>> print(a)
['ab']
for value in a_list后面接一个if判断,筛选包含某个字符的元素,或者判断元素是否等于某个值
python一行写if else,以及if else列表推导相关推荐
- python 一行写多条件用分割,关于python,你必须知道这25例python专属骚技巧
本文我总结了25个python专属骚操作,实属提高效率/同事吹牛只利器,确定不收藏吗? image.png 一.原地交换 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法 x, y ...
- python (八)迭代器、生成器、列表推导式
一.迭代器 1.先来讲讲什么是可迭代对象 字符串.列表.元组.字典.集合都可以被for循环,说明他们都是可迭代的. 2.怎么判断是不是一个可迭代对象 判定方法:内部含有'__iter__'方法的数据就 ...
- python中哪个函数能生成集合_神奇的python系列11:函数之生成器,列表推导式
1.生成器 生成器的本质是迭代器. 在python中有三种方式来获取生成器 1.通过生成器函数 2.通过各种推到式来实现生成器 3.通过数据的转换也可以获取生成器 #函数 deffunc():prin ...
- python 语句简写_自学Python-语句之列表推导式
先举例分析运行过程: 例如:#将list_a=[1,2,3,4,5]元素扩大10倍,生成新的列表. 如果按传统的for循环来写: -------------------- list_a=[1,2,3, ...
- 微课|中学生可以这样学Python(5.6.1节):列表推导式1
适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章 Python序列及应用 5.6.1 列表推导式---1 京东购买链接:https:// ...
- 微课|中学生可以这样学Python(5.6.1节):列表推导式2
适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章 Python序列及应用 5.6.1 列表推导式---2 京东购买链接:https:// ...
- 微课|中学生可以这样学Python(5.6.1节):列表推导式3
适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章 Python序列及应用 5.6.1 列表推导式---3 京东购买链接:https:// ...
- python中[x for x in range(n)]列表推导式
列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层. python列表推导式作用大, 举例如下: scales = [i for i in r ...
- 【技能树共建】Python 列表推导式
Python 列表推导式是什么 列表推导式是 Python 语言特有的一种语法结构,也可以看成是 Python 中一种独特的数据处理方式, 它在 Python 中用于 转换 和 过滤 数据. 其语法格 ...
最新文章
- 汽车车灯灯具系统(上)
- lvs调整hash表大小
- 批量插入/修改网页代码的asp脚本
- 云原生安全的一种新方法!
- git commit -m 与 git commit -am的区别
- 基于 Ubuntu 系统安装 CUDA 和 cuDNN
- bitbucket迁移
- 杭州飞畅告诉你工业环网交换机到底是什么?
- 【语义分割项目实战】一种特殊的数据增强方式:copy-paste实战复现
- Android Studio 高版本无法执行Java main方法的问题
- python 查找excel表格中重复的信息并标出来
- 游戏服务器没有响应怎么回事,求助!!!为什么我进不了游戏!!!
- Hololens开发学习笔记——TrackedHandJoint关节点详解
- mysql 5.7修改密码
- Ubuntu软件安装与卸载
- 2023届求职 笔试面试记录
- java_时区与时间问题总结
- 教育行业分享-基础篇
- 满洲国时期的国都建设
- SDN/NFV重构下一代网络