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 13 Python
Python获取网段内ping通IP的方法
Jan 31 Python
如何使用Python实现斐波那契数列
Jul 02 Python
解析python实现Lasso回归
Sep 11 Python
python安装scipy的步骤解析
Sep 28 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
Python用input输入列表的实例代码
Feb 07 Python
python爬虫实现获取下一页代码
Mar 13 Python
使用Python防止SQL注入攻击的实现示例
May 21 Python
python的json包位置及用法总结
Jun 21 Python
用python绘制樱花树
Oct 09 Python
python读写数据读写csv文件(pandas用法)
Dec 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
PHP高级编程实例:编写守护进程
2014/09/02 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
2012/11/20 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
js实现打字小游戏
2019/12/17 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
python中base64加密解密方法实例分析
2015/05/16 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
详解python调度框架APScheduler使用
2017/03/28 Python
Python 从相对路径下import的方法
2018/12/04 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
animation和transition的区别
2020/10/12 HTML / CSS
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
年终奖发放方案
2014/06/02 职场文书
驻村工作先进事迹
2014/08/14 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
违纪检讨书
2015/01/27 职场文书
鸟的天堂导游词
2015/01/31 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
opencv读取视频并保存图像的方法
2021/06/04 Python
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏