# 不知曾几何时,你是否也觉得Python的三目运算写起来很麻烦呢?(没有过)
# 比如:
a, b = 3, 4
c = a if a > b else b
d = a if a < b else b
print(c, d)
# 就是简单的找两个数里边大的那个和小的那个,max,min就行了,不过这里为了演示,就别计较那么多了。
# 很!麻!烦!对不对!(没有啊,我觉得挺简便的啊)
# 那么现在就让我们来看看它的替代写法!(喂!我说了不麻烦啊!算了你说吧。)
a, b = 3, 4
# 前面还是一样。(你在凑字数吧,我说!)
# 闭嘴,你不也是!
c = [b, a][a > b]
d = [b, a][a < b]
print(c, d)
# 嘿嘿,看懂了吗?是不是很神奇?(所以你?)
# 所以我?(所以你作弊了!这怎么可能是对的??)
# 。。。才没有,我给你讲一下吧!(洗耳恭听)
# 首先,用a和b组成一个只有2项的列表,因为python的列表里什么都可以装,所以可以等价替换到其他非数字的情况。
# 然后后面的[]里就不是列表了,而是python的切片,或者你理解成c或java里的数组索引也行。
# 我们都知道,bool类型转int的话,False对应0,True对应1.所以这里如果a>b,结果就是1,就会得到a,反之得到b。

python之三目运算符的替代品?的更多相关文章

  1. Python之三目运算符

    Python语言不像Java.JavaScript等这些语言有类似: 判段的条件?条件为真时的结果:条件为假时的结果 这样的三目运算,但是Python也有自己的三目运算符: 条件为真时的结果 if 判 ...

  2. python25 python的三目运算符

    其他语言的三目运算符大类似: 条件 ?  条件为真返回值: 条件为假返回值 python不一样: 条件为真的返回值  if  条件  else  条件为假的返回值                 或者 ...

  3. Python——三目运算符

    一.三目运算符 1.if语句三目运算符语法格式 Python可以通过if'语句来实现三目运算符的功能,因此可以把这种if语句当做三目运算符,具体语法格式如下: 返回True执行 if 表达式 else ...

  4. 为什么数据科学家们选择了Python语言?

    本文由 伯乐在线 - HanSir 翻译,toolate 校稿 英文出处:Quora [伯乐在线导读]:这个问题来自 Quora,题主还补充说,“似乎很多搞数据的程序员都挺擅长 Python 的,这是 ...

  5. 【python】 web开发入门

    进入Web开发 现在你完成了Python忍者训练,准备深入Ptyhon的Web开发,但现在的问题是有很多的框架,从中选择最好的框架非常困难,但从初学者的角度出发,Flask基本Web框架将非常适合We ...

  6. 一起来写2048(160行python代码)

    前言: Life is short ,you need python. --Bruce Eckel 我与2048的缘,不是缘于一个玩家,而是一次,一次,重新的ACM比赛.四月份校赛初赛,第一次碰到20 ...

  7. 一起写2048(160行python代码)

    前言: Life is short ,you need python. --Bruce Eckel 我与2048的缘,不是缘于一个玩家.而是一次,一次,重新的ACM比赛.四月份校赛初赛,第一次碰到20 ...

  8. python之路:进阶篇

     > ) {        ;    }    printf(;} print i >>>      >>>  == :    name  ==   ==   ...

  9. Python开发目录

    Python开发目录 Python之三目运算符 Python之文件的基本操作

随机推荐

  1. Codeforces_451_B

    http://codeforces.com/problemset/problem/451/B 取前后第一个不满足条件的位置,逆序,判断. #include<cstdio> #include ...

  2. Python应用——多变量的灵活处理

    本文始发于个人公众号:TechFlow,原创不易,求个关注 我们都知道Python是一个非常灵活的语言,以至于如果它不是你的第一门语言,你会发现它总能给你各种各样的惊喜,让你忍不住惊叹:woc,还有这 ...

  3. Go语言实现:【剑指offer】反转链表

    该题目来源于牛客网<剑指offer>专题. 输入一个链表,反转链表后,输出新链表的表头. Go语言实现: 迭代: /** * Definition for singly-linked li ...

  4. 构建ROP链实现远程栈溢出

    通常情况下栈溢出可能造成的后果有两种,一类是本地提权另一类则是远程执行任意命令,通常C/C++并没有提供智能化检查用户输入是否合法的功能,同时程序编写人员在编写代码时也很难始终检查栈是否会发生溢出,这 ...

  5. Python Namespace - 命名空间

    命名空间 命名空间 namespace 对 python 来说是一个非常核心的概念,整个 python 虚拟机运行的机制与 namespace 概念有这非常紧密的联系. 从'赋值'说起, python ...

  6. C++ 类的赋值运算符'='重载

    什么类需要重载赋值运算符 先来看一个普通类的直接赋值. #include <iostream> using namespace std; class person{ int age; pu ...

  7. ELF文件之六——使用链接脚本-2个函数-data-bss-temp

    main.c int enable; ; int main() { int temp; ; } int add() { ; } elf反汇编结果如下,可以看出main函数中的栈多开了8字节,虽然局部变 ...

  8. 线段树学习----C语言

    /* 线段树学习:如果一个节点为i,那么他的左孩子为2I+1,右孩子为2i+2: */ #include<stdio.h> #define min(a,b) a<b?a:b; ]; ...

  9. 在Linux安装MySQL

    yum 方式卸载MySQL与安装MySQL . rpm -qa | grep -i mysql命令查看已经安装过的组件 [root@VM_0_10_centos ~]# rpm -qa | grep ...

  10. git的使用方法大全

    换了一个新的工作环境,由于以前都是使用SVN管理代码,现在要换成git,但我对git了解不多,只好下功夫咯!脑子不灵活,命令语句容易忘,所以做个笔记记录下~~~1.安装git到Git官网下载合适自己电 ...