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修改Excel数据的实例代码
Nov 01 Python
Python获取DLL和EXE文件版本号的方法
Mar 10 Python
对python3 urllib包与http包的使用详解
May 10 Python
解决python中 f.write写入中文出错的问题
Oct 31 Python
在scrapy中使用phantomJS实现异步爬取的方法
Dec 17 Python
Python2 Selenium元素定位的实现(8种)
Feb 25 Python
Python中使用logging和traceback模块记录日志和跟踪异常
Apr 09 Python
Python中pymysql 模块的使用详解
Aug 12 Python
Python高级property属性用法实例分析
Nov 19 Python
python常用数据重复项处理方法
Nov 22 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
Apr 26 Python
一起来学习Python的元组和列表
Mar 13 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设计聊天室步步通
2006/10/09 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
JavaScript 判断指定字符串是否为有效数字
2010/05/11 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
javascript回调函数详解
2018/02/06 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
Python里disconnect UDP套接字的方法
2015/04/23 Python
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
python抓取网页中图片并保存到本地
2015/12/01 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
Python中按值来获取指定的键
2019/03/04 Python
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
python中os包的用法
2020/06/01 Python
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
2015暑假社会调查报告
2015/07/13 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
安全生产学习心得体会
2016/01/18 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
【海涛解说】暗牧也疯狂,牛蛙成配角
2022/04/01 DOTA