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

yipeiwu_com6年前Python基础

在昨天关于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. 还可以更简单么?留言给我吧 ;-)

相关文章

python 生成器协程运算实例

一、yield运行方式 我们定义一个如下的生成器: def put_on(name): print("Hi {}, 货物来了,准备搬到仓库!".format(name)) wh...

Python多维/嵌套字典数据无限遍历的实现

最近拾回Django学习,实例练习中遇到了对多维字典类型数据的遍历操作问题,Google查询没有相关资料…毕竟是新手,到自己动手时发现并非想象中简单,颇有两次曲折才最终实现效果,将过程记...

Python寻找两个有序数组的中位数实例详解

Python寻找两个有序数组的中位数实例详解

Python寻找两个有序数组的中位数 审题: 1.找出意味着这是一个查找算法题 2.算法复杂度log级别,就是提示你是二分查找 3.二分查找实现一般为递归  (1)递归包括递...

浅析python中的分片与截断序列

序列概念 在分片规则里list、tuple、str(字符串)都可以称为序列,都可以按规则进行切片操作 切片操作 注意切片的下标0代表顺序的第一个元素,-1代表倒序的第一个元素;且切片不...

python网络编程调用recv函数完整接收数据的三种方法

最近在使用python进行网络编程开发一个通用的tcpclient测试小工具。在使用socket进行网络编程中,如何判定对端发送一条报文是否接收完成,是进行socket网络开发必须要考虑...