python如何为list实现find方法


Posted in Python onMay 30, 2022

如何为list实现find方法

string类型的话可用find方法去查找字符串位置:

a_list.find('a')

如果找到则返回第一个匹配的位置,如果没找到则返回-1,而如果通过index方法去查找的话,没找到的话会报错。

如果我们希望在list中也使用find呢?

方法1:独立函数法

def list_find(item_list, find_item):
    if find_item in item_list:
        return item_list.index(find_item)
    return -1

item_list=[1,2,3]
print(list_find(item_list,1),list_find(item_list,4))

缺点:代码太多,麻烦

方法2:if三元表达式(本质同上)

item_list.index(find_item) if find_item in item_list else -1

优点:简单,明了

缺点:item_list在上面出现两次,想想一下,如果item_list是一个比较长表达式的结果(或者函数结果),则会导致代码过长,且会执行2次

方法3:next(利用迭代器遍历的第二个参数)

next((item for item in item_list if item==find_item ),-1)

缺点:如果对迭代器不熟悉,不大好理解

优点:扩展性好,if后面的条件可以不只是相等,可支持更为复杂的逻辑判断

方法4:list元素bool类型

''.join(map(str, map(int, item_list))).find(str(int(True)))

简单容易理解

Python List find方法报错

TypeError: 'str' does not support the buffer interface

deviceList[1].find('device') 

List使用find方法时,报错误:

TypeError: 'str' does not support the buffer interface

In python 3, bytes strings and unicodestrings are now two different types. Bytes strings are b"" enclosed strings

上述语句改为:deviceList[1].find(b'device') 就好了,加了个小b


Tags in this post...

Python 相关文章推荐
Python构造自定义方法来美化字典结构输出的示例
Jun 16 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 Python
Django2.1.3 中间件使用详解
Nov 26 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
pytorch 模型可视化的例子
Aug 17 Python
python实现一个简单RPC框架的示例
Oct 28 Python
Django用户认证系统如何实现自定义
Nov 12 Python
python 通过exifread读取照片信息
Dec 24 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 Python
使用Python拟合函数曲线
Apr 14 Python
python实现商品进销存管理系统
May 30 #Python
python如何查找列表中元素的位置
May 30 #Python
Python数组变形的几种实现方法
May 30 #Python
Python Matplotlib绘制动画的代码详解
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 #Python
Python中的协程(Coroutine)操作模块(greenlet、gevent)
May 30 #Python
Pandas实现批量拆分与合并Excel的示例代码
May 30 #Python
You might like
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
理解JAVASCRIPT中hasOwnProperty()的作用
2013/06/05 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
2015/03/16 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
实例讲解Python3中abs()函数
2019/02/19 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
python如何调用php文件中的函数详解
2020/12/29 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
单身旅行者的单身假期:Just You
2018/04/08 全球购物
中国制造网:Made-in-China.com
2019/10/25 全球购物
优质护理服务演讲稿
2014/05/07 职场文书
代办委托书怎么写
2014/08/01 职场文书
幼师求职自荐信
2015/03/26 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python
总结Python使用过程中的bug
2021/06/18 Python
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫
windows server2008 开启端口的实现方法
2022/06/25 Servers