Python数组List检索 三种方法从数组List中检索出符合要求的元素


Python数组List检索 三种方法从数组List中检索出符合要求的元素

背景

Python开发过程中经常会遇到要从一个List数组中查找出符合某些条件的元素

举个例子:现在有个数组 ["www.yesdotnet.com","garson","www.jocsoft.cn","www.u-cms.com","www.garsonhome.com"] 现在我们需要查找出 包含字符串 garson 的元素

对于这种情况,python有多种方法可以实现,现在我们就一一举例来实现

方案一:最古老,单容易理解

Python 全选
# 方法一
def Test1(str, data:List[str]):
    i = 0
    for item in data:
        if str in item:
            return i
        i = i + 1
    return -1

# 测试
print(Test1("garson",["www.yesdotnet.com","garson","www.jocsoft.cn","www.u-cms.com","www.garsonhome.com"]))

该方法用一个for来循环,这种方法几乎每个人都能看懂,缺点,太土了,又臭又长有么有,作为一名有追求的程序员,看到这种写法觉得有些不够优雅

方案二:使用filter检索数组

其实,python中为我们提供了filter的方法,使用filter方法,我们可以很简单的实现这个需求,filter有两个参数,第一个参数是一个返回bool类型的判断函数(判断元素是否符合我们的条件),第二个参数是要检索的数组,

Python 全选
# 方法二
def Test2(str, data:List[str]):
   def filterBody(x):
     return str in x

   result = filter(filterBody,data)
   lst = list(result)
   return len(lst)

方案三:进阶 lambda高大上

该方法就是把方案二的filterBody函数用lambda函数来替代,使代码看起来更加简洁

Python 全选
def Test3(str, data:List[str]):
   result = filter(lambda x:str in x,data)
   lst = list(result)
   return len(lst)

 

总结

到此,我们已经使用了三个方案来实现 Python数组List检索,从数组中检索出符合条件的元素

对比三个方案,最容易理解的就是方案一,方案二不做评价,方案三装逼利器,有么有

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
管理员
上一篇:Python __name__=='__main__'作用详解
下一篇:win11右键菜单恢复默认显示更多选项
评论列表

发表评论

评论内容
昵称:
关联文章

Python数组List检索 方法数组List检索符合要求元素
python配置文件
快速删除node_modules文件夹方法
Javascript对URL进行编码解码方式介绍
2.网络聊天程序模式
Python百度检索获得真实URL连接
JS合并两个数组3方法详解
Vue.js如何限制Props只接受特定数组值:自定义验证方法解析
LabVIEW生成.NETDLL——C#下调用NI数据采集设备功能方法 [原创www.cnblogs.com/helesheng]
C# 多线程入门系列(
C# 做早餐看同步异步
C# winform无边框窗体移动方法
在Winform框架多文档界面实现双击子窗口单独弹或拖及拽回处理
算法:计算两个大量数据数组交集,差集,并集,(数据差异)
.NET Framework 系统要求
Python爬虫解析网页提取html信息常用方式
WPF 布局 在有限空间内让两个元素尽可能撑开例子
dotnet C# 根据椭圆长度和宽度和旋转角计算椭圆中心点方法
一次解决Nancy参数绑定“bug”开始发布自己第一个nuget包(上篇)
浅析.netcoreConfiguration

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码