对python条件表达式的四种实现方法小结

如下所示:

a, b, c = 1, 2, 3
 
# 1.常规
 
if a>b:
    c = a
else:
    c = b
 
# 2.表达式
c = a if a>b else b # 先执行中间的if,如果返回True,就是左边,False是右边。
 
# 3.二维列表
c = [b,a][a>b] #实际是[b,a][False],因为False被转换为0,所以是[1,2][0],也就是[1]
                      # False返回第一个,True 返回第一个。
 
# 4
c = (a>b and [a] or [b])[0]
# 这个比较好玩,False and [1] or [2],因为and的优先级高于or,先算and
# False和[1] and之后还是False,和[2]or之后却成了[2]
# True 和[1] and之后是[1],[1]和[2]or结果是[1]
# 也就是False和True在和别人做boolean运算的时候,根据and还是or,F和T在前在后有不一样的数据转换规则。

以上这篇对python条件表达式的四种实现方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python基于正则表达式实现检查文件内容的方法【文件检索】

    本文实例讲述了Python基于正则表达式实现检查文件内容的方法分享给大家供大家参考,具体如下: 这个是之前就在学python,欣赏python的小巧但是功能强大,是连电池都自带的语言.平时工作中用Java ,觉得python在日常生活中比java用处要大,首先语法没那么复杂,特别是io的操作,java里要写一大坨没关的代码.还有就是不用编译,而且linux系统默认都会自带. 这次遇到的问题是工作当中想要迁移一个系统中的一个模块,这个时候需要评估模块里的代码有没有对其他代码强依赖,就是有没有imp

  • python中 ? : 三元表达式的使用介绍

    (1) variable = a if exper else b(2)variable = (exper and [b] or [c])[0](2) variable = exper and b or c 上面三种用法都可以达到目的,类似C语言中 variable = exper ? b : c;即:如果exper表达式的值为true则variable = b,否则,variable = c 例如: 复制代码 代码如下: a,b=1,2max = (a if a > b else b)max =

  • python实现问号表达式(?)的方法

    python中的and和or和其它语言的区别很大其它语言中的and和or都是返回bool类型的结果,python不是.它返回的是做and和or运算的其中一个值.那个值决定了这个表达式的值,就返回那个值. 复制代码 代码如下: >> 5 and '' 这里结果是'', 空字符串, 因为是它导致了这个表达式为false.也就是所在and中,只有前面一个值是false的时候,才有可能成为结果.否则就是后面的值为结果. 了解了and和or运行的过程,那么就可以实现?表达式了: 复制代码 代码如下: i

  • Python 正则表达式的高级用法

    对于Python来说,学习正则就要学习模块re的使用方法.本文将展示一些大家都应该掌握的高级技巧. 编译正则对象 re.compile函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换.用法上略有区别,举个例子, 匹配一个字符串可用如下方式: 如果使用compile,将变成: 为什么要这么用呢?其实就是为了提高正则匹配的速度,重复利用正则表达式对象.我们对比一下2种方式的效率: 可以看到第二种方式要快很多.在实际的工作中你会发现越多的使用编

  • Python正则表达式实现截取成对括号的方法

    本文实例讲述了Python正则表达式实现截取成对括号的方法.分享给大家供大家参考,具体如下: strs = '1(2(3(4(5(67)6)7)8)9)0' reg1 = re.compile('([()])∗') #一对括号 reg2 = re.compile('([()]|\([()]∗)*\)') #两对括号 reg3 = re.compile('([()]|\([()]∗|([()]|\([()]∗)*\))*\)') #三层 函数 #匹配成对括号正则表达式 def getReg(sel

  • Python中条件判断语句的简单使用方法

    最简单的条件语句: if expression: expr_true_suite 如上,if是关键字,expression是条件表达式,条件表达式支持多重条件判断,可以用布尔操作符and.or和not连接,expr_true_suite是代码块,expression为true时执行,代码块如果只有一行,上面的整个条件语句便可全部写到一行,但可读性差. 带elif和else的条件语句: if expression1: expr1_true_suite elif expression2: expr2

  • 对python条件表达式的四种实现方法小结

    如下所示: a, b, c = 1, 2, 3   # 1.常规   if a>b:     c = a else:     c = b   # 2.表达式 c = a if a>b else b # 先执行中间的if,如果返回True,就是左边,False是右边.   # 3.二维列表 c = [b,a][a>b] #实际是[b,a][False],因为False被转换为0,所以是[1,2][0],也就是[1]                       # False返回第一个,Tr

  • Python中浅拷贝的四种实现方法小结

    目录 方式一:使用切片 [:] 方式二:使用工厂函数 方式三:使用数据类型自带的 copy 方法 方式四:使用 copy 模块的 copy 方法 方式一:使用切片 [:] 列表 # 浅拷贝 [:] old_list = [1, 2, [3, 4]] new_list = old_list[:] old_list.append(5) old_list[2][0] += 97 print("Old list:", old_list, "old list id:", id

  • Python+OpenCV 图像边缘检测四种实现方法

    目录 1.Sobel算子 2.Schaar算子(更能体现细节) 3.Laplacian算子(基于零穿越的,二阶导数的0值点) 4.Canny边缘检测(被认为是最优的边缘检测算法) 总结 import cv2 as cv import numpy as np import matplotlib.pyplot as plt # 设置兼容中文 plt.rcParams['font.family'] = ['sans-serif'] plt.rcParams['font.sans-serif'] = [

  • Json日期格式问题的四种解决方法(超详细)

    开发中有时候需要从服务器端返回json格式的数据,在后台代码中如果有DateTime类型的数据使用系统自带的工具类序列化后将得到一个很长的数字表示日期数据,如下所示: //设置服务器响应的结果为纯文本格式 context.Response.ContentType = "text/plain"; //学生对象集合 List<Student> students = new List<Student> { new Student(){Name ="Tom&q

  • Python下载网络文本数据到本地内存的四种实现方法示例

    本文实例讲述了Python下载网络文本数据到本地内存的四种实现方法.分享给大家供大家参考,具体如下: import urllib.request import requests from io import StringIO import numpy as np import pandas as pd ''' 下载网络文件,并导入CSV文件作为numpy的矩阵 ''' # 网络数据文件地址 url = "http://archive.ics.uci.edu/ml/machine-learning

  • python字符串反转的四种方法详解

    这篇文章主要介绍了python字符串反转的四种详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.用reduce函数方法 book = 'Python程序设计' result = reduce(lambda x,y:y+x,book) print(result) 2.字符串切割 book = 'Python程序设计' print(book[::-1]) 3.用reversed方法,把字符串变成列表反转后拼接 result = reverse

  • python 调用js的四种方式

    1. 前言 日常 Web 端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页源代码 通过调式,一层层剥离出关键的 JS 代码,使用 Python 去执行这段代码,得出参数加密前后的 Python 实现 本文将聊聊利用 Python 调用 JS 的4种方式 2. 准备 以一段简单的 JS 脚本为例,将代码写入到文件中 //norm.js //计算两个数的和 function add(num1, num2) {     return num1 + num2; } 其中,定义了一个方法,

  • python线程池的四种好处总结

    1.使用好处 提高性能:由于减去了大量新建终止线程的费用,重用了线程资源: 适用场景:适用于处理大量突发请求或需要大量线程完成任务,但实际任务处理时间短. 防御功能:可以有效避免系统因线程过多而导致系统负载过大而相应变慢的问题. 代码优势:使用线程池的语法比创建自己的线程更简单. 2.实例 """ @file : 004-线程池的使用.py @author : xiaolu @email : luxiaonlp@163.com @time : 2021-02-01 "

  • python 实现定时任务的四种方式

    用Python实现定时任务 有些时候我们需要每隔一段时间就要执行一段程序,或者是往复循环执行某一个任务.比如博主在上篇文章讲的爬虫一样,在实现对某个目标进行在线爬取的话,也需要用到实时任务. 用Python实现定时任务的四种方法 while True: + sleep() threading.Timer定时器 调度模块schedule 任务框架APScheduler 定时要完成的Task(简单定义下) import datetime def Task(): now = datetime.date

  • Python读取文件的四种方式的实例详解

    目录 学生数量特别少的情况 停车场空间不够时怎么办? 怎么加快执行效率? 怎么加快处理速度? 结语 故事背景:最近在处理Wikipedia的数据时发现由于数据量过大,之前的文件读取和数据处理方法几乎不可用,或耗时非常久.今天学校安排统一核酸检查,刚好和文件读取的过程非常相似.正好借此机会和大家一起从头梳理一下几种文件读取方法. 故事设定:现在学校要求对所有同学进行核酸采集,每位同学先在宿舍内等候防护人员(以下简称“大白”)叫号,叫到自己时去停车场排队等候大白对自己进行采集,采集完之后的样本由大白

随机推荐