Python返回真假值(True or False)小技巧

在昨天关于substring的blog中有如下一段代码:

也许你已经发现,在Python 3中其实有办法只用一行完成函数:

代码如下:

>>> def isSubstring2(s1,s2):
 return True if s2.find(s1)!=-1 else False

但是。。。还可以更简单吗?

如何更简单使用Python表达条件语句呢,just for fun :)

一种做法是使用列表索引:

代码如下:

>>> def isSubstring2(s1,s2):
 return [False,True][s2.find(s1)!=-1]

原理很简单,布尔值True被索引求值为1,而False就等于0. 还可以更简单么?留言给我吧 ;-)

(0)

相关推荐

  • Python中的True,False条件判断实例分析

    本文实例讲述了Python中的True,False条件判断用法.分享给大家供大家参考.具体分析如下: 对于有编程经验的程序员们都知道条件语句的写法: 以C++为例: 复制代码 代码如下: if (condition)  {      doSomething();  } 对于Python中的条件判断语句的写法则是下面的样子: 复制代码 代码如下: if (condition):      doSomething() 那么对于条件语句中的condition什么时候为真什么时候为假呢? 在C++/Ja

  • Python解惑之True和False详解

    前言 众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分别用True和False表示.在if 条件判断和while 语句中经常用到,不过在Python2.x 中,True 和False 却有着奇怪的用法,就是真假可以相互被替换 先看下面代码: >>> True True >>> False False >>> if True: ... print True ... True >>> if n

  • Python中关于property使用的小技巧

    目录 property属性 具体实例 property属性的有两种方式 装饰器方式 旧式类 新式类 类属性方式 property对象与@property装饰器对比 property对象类属性 @property装饰器 property属性 一种用起来像是使用实例属性一样的特殊属性,可以对应于某个方法 既要保护类的封装特性,又要让开发者可以使用 对象.属性 的方式操作方法,@property 装饰器,可以直接通过方法名来访问方法,不需要在方法名后添加一对 () 小括号. 来看下求圆的面积的例子 c

  • 关于Python形参打包与解包小技巧分享

    Python中的函数调用与c++不同的是将this指针直接作为self当作第一个形参进行处理,从而将静态函数与实例方法的调用形式统一了起来.在实际编程过程中,可以通过传递函数的地址.函数的形参的方式将所有函数(包括静态函数.类实例函数)的调用用统一的方式表达出来,方便统一接口和抽象. 待传递的2个函数如下: class Operation: @staticmethod def close_buy(): """ :return: """ print

  • Python自动安装第三方库的小技巧(pip使用详解)

    大家好,我是才哥. 最近周末也加班了,害- 有刚接触python的粉丝同学在运行此前<>的完整代码遇到以下问题,然后- 好吧,今天我们就专门介绍一下Python安装第三方库的一些小技巧,其中还包含自动安装的方法哈. 1. pip在线安装 在cmd命令行模式下,通过pip install 第三方库名称的形式,直接进行第三方库的安装. 我们以安装plotly为例,安装表现如下: pip install plotly 如果需要安装的第三方库已经存在,我们执行安装命令的时候会提示其存在且展示库安装的位

  • Python编程mac下使用pycharm小技巧

    pycharm创建新文件自动添加文件头注释 背景 我们平时在使用pycharm发现有些大神创建一个新文件的时候会自动在文件头添加一些注释,像是有文件路径,创建时间,创建人,集成平台等信息,但是我们自己创建的时候就没有,不着急,只需要一点的简单的配置就能实现. 方法 通过pycharm->Perferences进入设置模式 选择File and Code Template -> Python Script 在文件中加入以下配置 # -*- coding: utf-8 -*- # @Time :

  • Python实现老照片修复之上色小技巧

    导语 "黑白变彩色,就是这么简单" 老照片上色,是一门功夫,费时费力. 老照片上色,也是一门艺术,还原历史. 提起老照片上色,小编第一个想到了的就是一位名叫Marina Amaral的艺术家,她将历史上很多著名的老照片,都用后期处理的方式填补上了颜色. 逼真.写实,看不出丝毫的漏洞,你对她的作品有多钦佩,也就意味着这项技艺有多复杂. 所以,你想学习老照片上色吗?也想把父母的照片,或者儿时的黑白照变成彩色的吗? 那木木子给你的建议的是:别费劲了,因为,这项工作,以后交给AI去完成就可以了

  • Python性能调优的十个小技巧总结

    1 多多使用列表生成式 替换下面代码: cube_numbers = [] for n in range(0,10): if n % 2 == 1: cube_numbers.append(n**3) 为列表生成式写法: cube_numbers = [n**3 for n in range(1,10) if n%2 == 1] 2 内置函数 尽可能多使用下面这些内置函数: 3 尽可能使用生成器 单机处理较大数据量时,生成器往往很有用,因为它是分小片逐次读取,最大程度节省内存,如下网页爬取时使用

  • Python返回真假值(True or False)小技巧

    在昨天关于substring的blog中有如下一段代码: 也许你已经发现,在Python 3中其实有办法只用一行完成函数: 复制代码 代码如下: >>> def isSubstring2(s1,s2):  return True if s2.find(s1)!=-1 else False 但是...还可以更简单吗? 如何更简单使用Python表达条件语句呢,just for fun :) 一种做法是使用列表索引: 复制代码 代码如下: >>> def isSubstri

  • Python合并多个装饰器小技巧

    django程序,需要写很多api,每个函数都需要几个装饰器,例如 复制代码 代码如下: @csrf_exempt  @require_POST  def  foo(request):      pass 既然那么多个方法都需要写2个装饰器,或者多个,有啥办法把多个合并成一行呢? 上面的函数执行过程应该是 复制代码 代码如下: csrf_exempt(require_POST(foo)) 修改成 复制代码 代码如下: def compose(*funs):      def deco(f): 

  • 17个Python小技巧分享

    1.交换变量 复制代码 代码如下: x = 6 y = 5 x, y = y, x print x >>> 5 print y >>> 6 2.if 语句在行内 复制代码 代码如下: print "Hello" if True else "World" >>> Hello 3.连接 下面的最后一种方式在绑定两个不同类型的对象时显得很酷. 复制代码 代码如下: nfc = ["Packers",

随机推荐