list实现find方法怎样做,有多少实现方式
Admin 2022-08-17 群英技术资讯 778 次浏览
在这篇文章中,我们来学习一下“list实现find方法怎样做,有多少实现方式”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。string类型的话可用find方法去查找字符串位置:
a_list.find('a')
如果找到则返回第一个匹配的位置,如果没找到则返回-1,而如果通过index方法去查找的话,没找到的话会报错。
如果我们希望在list中也使用find呢?
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))
缺点:代码太多,麻烦
item_list.index(find_item) if find_item in item_list else -1
优点:简单,明了
缺点:item_list在上面出现两次,想想一下,如果item_list是一个比较长表达式的结果(或者函数结果),则会导致代码过长,且会执行2次
next((item for item in item_list if item==find_item ),-1)
缺点:如果对迭代器不熟悉,不大好理解
优点:扩展性好,if后面的条件可以不只是相等,可支持更为复杂的逻辑判断
''.join(map(str, map(int, item_list))).find(str(int(True)))
简单容易理解
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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
序列解包也可以用于列表、字典、enumerate对象、filter对象等等,但是对字典使用时,默认是对字典“键”进行操作,如果需要对“键:值”对进行操作,需要使用字典的items()方法说明,如果需要对字典“值”进行操作,则需要使用字典的values()方法明确指定。
这篇文章主要介绍了python open读取文件内容时的mode模式解析,Python可以使用open函数来实现文件的打开,关闭,读写操作,本文给大家介绍的非常详细,需要的朋友可以参考下
采用os模块儿:importosdefget_filelist(dir):forhome,dirs,filesinos.walk(dir):print("#######dirlist#######")fordirindirs:print(dir)print("#######dir
这篇文章主要为大家介绍了Python中的Dict,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
这篇文章主要介绍了使用Python怎样对pandas数据合并的操作,对大家学习Python具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章能有所收获,接下来小编带着大家一起了解看看。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008