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列表推导相关推荐

  1. python 一行写多条件用分割,关于python,你必须知道这25例python专属骚技巧

    本文我总结了25个python专属骚操作,实属提高效率/同事吹牛只利器,确定不收藏吗? image.png 一.原地交换 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法 x, y ...

  2. python (八)迭代器、生成器、列表推导式

    一.迭代器 1.先来讲讲什么是可迭代对象 字符串.列表.元组.字典.集合都可以被for循环,说明他们都是可迭代的. 2.怎么判断是不是一个可迭代对象 判定方法:内部含有'__iter__'方法的数据就 ...

  3. python中哪个函数能生成集合_神奇的python系列11:函数之生成器,列表推导式

    1.生成器 生成器的本质是迭代器. 在python中有三种方式来获取生成器 1.通过生成器函数 2.通过各种推到式来实现生成器 3.通过数据的转换也可以获取生成器 #函数 deffunc():prin ...

  4. python 语句简写_自学Python-语句之列表推导式

    先举例分析运行过程: 例如:#将list_a=[1,2,3,4,5]元素扩大10倍,生成新的列表. 如果按传统的for循环来写: -------------------- list_a=[1,2,3, ...

  5. 微课|中学生可以这样学Python(5.6.1节):列表推导式1

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章  Python序列及应用 5.6.1  列表推导式---1 京东购买链接:https:// ...

  6. 微课|中学生可以这样学Python(5.6.1节):列表推导式2

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章  Python序列及应用 5.6.1  列表推导式---2 京东购买链接:https:// ...

  7. 微课|中学生可以这样学Python(5.6.1节):列表推导式3

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章  Python序列及应用 5.6.1  列表推导式---3 京东购买链接:https:// ...

  8. python中[x for x in range(n)]列表推导式

    列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层. python列表推导式作用大, 举例如下: scales = [i for i in r ...

  9. 【技能树共建】Python 列表推导式

    Python 列表推导式是什么 列表推导式是 Python 语言特有的一种语法结构,也可以看成是 Python 中一种独特的数据处理方式, 它在 Python 中用于 转换 和 过滤 数据. 其语法格 ...

最新文章

  1. 汽车车灯灯具系统(上)
  2. lvs调整hash表大小
  3. 批量插入/修改网页代码的asp脚本
  4. 云原生安全的一种新方法!
  5. git commit -m 与 git commit -am的区别
  6. 基于 Ubuntu 系统安装 CUDA 和 cuDNN
  7. bitbucket迁移
  8. 杭州飞畅告诉你工业环网交换机到底是什么?
  9. 【语义分割项目实战】一种特殊的数据增强方式:copy-paste实战复现
  10. Android Studio 高版本无法执行Java main方法的问题
  11. python 查找excel表格中重复的信息并标出来
  12. 游戏服务器没有响应怎么回事,求助!!!为什么我进不了游戏!!!
  13. Hololens开发学习笔记——TrackedHandJoint关节点详解
  14. mysql 5.7修改密码
  15. Ubuntu软件安装与卸载
  16. 2023届求职 笔试面试记录
  17. java_时区与时间问题总结
  18. 教育行业分享-基础篇
  19. 满洲国时期的国都建设
  20. SDN/NFV重构下一代网络

热门文章

  1. 如何进行有效的性能测试
  2. python实现中文分词和词频统计
  3. php 调用百度地图接口
  4. 小米手机更新新手机后天府通电信nfc卡无法检测解决步骤方法
  5. Go语言GoString与C中char*的异同
  6. 福建农信 计算机 考试试题,2020福建农信社招聘考试模拟试题——计算机知识(13)...
  7. 桌面图标显示异常如何解决
  8. 下列哪个网站还未推出微博服务器,微博服务器
  9. 手机网站调起支付宝支付
  10. Lock篇(三)老城旧梦