【Python 基础篇】Python代码 之 三目表达式总结

【Python 基础篇】Python代码 之 三目表达式总结Python 中的三元表达式 result 为真时的结果 if 判断条件 else 为假时的结果 示例 gt gt gt x 1 gt gt gt y 2 gt gt gt result xifx gt yelsey 如果条件成立 将 x 的值赋给 result gt gt gt result2 上面的三元表达式等价于 gt gt gt x 1 gt gt gt y 2 gt gt gt ifx

提起三目表达式,相信大家都不陌生。该表达式,简化了代码的书写,可以说一定程度上,让我们的代码,看起来十分精炼。不同的编程原因,绝对部分都会提及到三目语法。比如,在systemverilog 语言中,定义 if 判断条件为真 ? 条件为真的表达式:条件为假的表达式。

今天,我们着重总结python 的三目语法。

1. Python中的三元表达式语法

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

# 示例: >>> x = 1 >>> y = 2 >>> result = x if x > y else y # 如果条件成立,将x的值赋给result >>> result 2

上面的三元表达式等价于

>>> x = 1 >>> y = 2 >>> if x > y: ... result = x ... else: ... result = y ... >>> result 2 >>>

2. 三元表达式的常见应用

2.1  结合普通函数使用

# 示例一: 求两个参数的最大值 >>> def max(x, y): ... return x if x > y else y # 取两个值的比较大的 ... >>> max(1, 3) 3 >>> # 示例二: 斐波那契数列 >>> def fib(n): ... return n if n<2 else fib(n-1)+fib(n-2) ... >>> [fib(n) for n in range(10)] [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] >>>

2.2 结合匿名函数使用

>>> map(lambda x,y:x-y if x> y else y-x, [2,1,3],[4,3,1]) # 两个列表相减并保证不为负 [2, 2, 2] >>>

2.3 结合列表推导使用

# 示例一: 将0-9的10个数,奇数用0表示,偶数用1表示 >>> [0 if i % 2 == 0 else 1 for i in range(10)] [0, 1, 0, 1, 0, 1, 0, 1, 0, 1] # 示例二: 常规写法 >>> x = 100 >>> L = [] >>> L.append(1 if x>0 else 0) >>> L [1] >>>

2.4  在处理Json格式中的应用

使用三元表达式的写法

【Python 基础篇】Python代码 之 三目表达式总结

一般的写法,可以看见,使用三元表达式的写法要简洁的多!

【Python 基础篇】Python代码 之 三目表达式总结

2.5  三元表达式的一个变种

下面是三元表达式的一个变种,但是只能针对bool 操作。注意,此时 bool(参数) 中的参数,可以是非布尔变量。

>>> cond = True >>> name = ["Cat", "Tom"][bool(cond)] >>> name 'Tom' >>> cond = "" >>> name = ["Cat", "Tom"][bool(cond)] >>> name 'Cat' >>>

3 总结 

最后,推荐大家尝试多去运用三目运算表达式。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233813.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月19日 下午2:01
下一篇 2025年6月19日 下午2:22


相关推荐

  • 【堆栈溢出】堆栈溢出

    【堆栈溢出】堆栈溢出编辑中 nbsp 一 理论 nbsp 1 栈区 stack nbsp 由编译器自动分配释放 nbsp 存放函数的参数值 局部变量的值等 其操作方式类似于数据结构中的栈 2 堆区 heap nbsp nbsp 一般由程序员分配释放 nbsp 若程序员不释放 程序结束时可能由 OS 回收 nbsp 注意它与数据结构中的堆是两回事 分配方式倒是类似于链表 main cpp nbsp int nbsp a nbsp nbsp 0 nbsp 全局初始化区 nbsp cha

    2026年3月16日
    4
  • pycharm如何找到python解释器,Pycharm如何给项目配置python解释器

    pycharm如何找到python解释器,Pycharm如何给项目配置python解释器Pycharm 给项目配置 python 解释器的方法 首先打开 Pycharm 选择 settings 选项 然后选择 project 选项 并选择 ProjectInter 选项 接着选择 Python 环境 最后点击 ok 按钮 本教程操作环境 windows7 系统 python3 9 版 DELLG3 电脑 Pycharm 给项目配置 python 解释器的方法 1 打开 Pycharm 开发工具 右键单击项目选择

    2026年3月27日
    2
  • js把HTML转成对象,将js对象转换为html「建议收藏」

    js把HTML转成对象,将js对象转换为html「建议收藏」好的,我有一些JS通过URL从JSON中提取数据。我知道想要将每个对象(author_name,rating,author_url)转换为jsID,所以我可以在html中调用该ID。将js对象转换为html例如这是我的JS代码到目前为止functioninitMap(){varservice=newgoogle.maps.places.PlacesService(map);serv…

    2022年7月17日
    23
  • Pytorch的BatchNorm层使用中容易出现的问题

    Pytorch的BatchNorm层使用中容易出现的问题前言:本文主要介绍在pytorch中的BatchNormalization的使用以及在其中容易出现的各种小问题,本来此文应该归属于[1]中的,但是考虑到此文的篇幅可能会比较大,因此独立成篇,希望能够帮助到各位读者。如有谬误,请联系指出,如需转载,请注明出处,谢谢。∇\nabla∇联系方式:e-mail:FesianXu@163.comQQ:973926198github:htt…

    2022年4月28日
    44
  • matlab检验贝塔分布规律,贝塔分布背后的直觉:概率的概率分布

    matlab检验贝塔分布规律,贝塔分布背后的直觉:概率的概率分布编者按 贝塔分布的定义很简单 具有两个参数 gt 0 的一组定义在 0 1 区间的连续概率分布 但是 它背后的直觉却不是那么明显 StackOverflo 数据科学家 DavidRobinso 在 CrossValidat 解释了贝塔分布背后的直觉 简而言之 贝塔分布代表 probabilitie 概率的复数形式 的分布 也就是说 它代表当我们不知道概率是什么时 概率的所有

    2025年8月29日
    5
  • 平均数、中位数、众数 三者的联系与区别

    平均数、中位数、众数 三者的联系与区别原文链接 http www 360doc com content 18 0717 09 57858800 771067787 shtml 个人理解 说简单点 一组数据中如果有特别大的数或特别小的数时 一般用中位数一组数据比较多 20 个以上 范围比较集中 一般用众数其余情况一般还是平均数比较精确一 联系与区别 1 平均数是通过计算得到的 因此它会因每一个数据的变化而变

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号