python如何为list实现find方法

 更新时间:2022年05月30日 15:43:26   作者:csdn_yuan88  
这篇文章主要介绍了python如何为list实现find方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

如何为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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • pandas常用表连接merge/concat/join/append详解

    pandas常用表连接merge/concat/join/append详解

    使用python的pandas库可以很容易帮你搞定,而且性能也是很出色的;百万级的表关联,可以秒出,本文给大家分享pandas常用表连接merge/concat/join/append详解,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • python命令行执行脚本找不到模块ModuleNotFoundError问题

    python命令行执行脚本找不到模块ModuleNotFoundError问题

    这篇文章主要介绍了python命令行执行脚本找不到模块ModuleNotFoundError问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • python调用fortran模块

    python调用fortran模块

    本文给大家介绍的是在Python中调用fortran代码,主要是用到了f2py这个程序,十分的实用,有需要的小伙伴可以参考下
    2016-04-04
  • Python编程基础之字典

    Python编程基础之字典

    这篇文章主要为大家介绍了Python的字典,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 对python中的高效迭代器函数详解

    对python中的高效迭代器函数详解

    今天小编就为大家分享一篇对python中的高效迭代器函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 基于python实现ROC曲线绘制广场解析

    基于python实现ROC曲线绘制广场解析

    这篇文章主要介绍了基于python实现ROC曲线绘制广场解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python函数式编程指南:对生成器全面讲解

    Python函数式编程指南:对生成器全面讲解

    今天小编就为大家分享一篇Python函数式编程指南:对生成器全面讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • pandas DataFrame数据转为list的方法

    pandas DataFrame数据转为list的方法

    下面小编就为大家分享一篇pandas DataFrame数据转为list的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python爬虫要用到的库总结

    python爬虫要用到的库总结

    在本篇内容中小编给大家整理的是关于python爬虫要用到的库总结内容,需要的朋友们可以学习下。
    2020-07-07
  • Python中截取字符串几种常用的方法

    Python中截取字符串几种常用的方法

    在Python中截取字符串的方法非常简单易懂,你只需要使用字符串的索引即可实现,这篇文章主要给大家介绍了关于Python中截取字符串几种常用的方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05

最新评论