python查询字典最快的方法(python字典查找算法)

技术Python字典查找性能的示例分析这期内容当中小编将会给大家带来有关Python字典查找性能的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。timeit.repeattim

这期内容当中小编将会给大家带来有关计算机编程语言字典查找性能的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

timeit.repeat

时间。重复默认会执行3轮,每轮执行1000000次。返回每轮的总执行时间列表

字典获取性能

大家都知道字典获取分为

中括号获取,获取不到会抛出密钥错误

得到获取,获取不到会返回默认值

下面比较两种获取方式的性能

数据准备

一条简单一条复杂

#日志记录标准库的水平字典

level _ mapping={ ' CRITICAL ' :50,' FATAL':50,' ERROR':40,' WARN':30,' WARNING':30,' INFO':20,' DEBUG':10,' NOTSET':0}

#弹性搜索日志

记录={ ' _ index ' : ' log stash-project。测试-环境。发布-用户。root-2021 ',' _type':'doc ',' _id':'2f60jn0BaH-cdSPUSkiF ',' _version':1 ',_score':None ',_ source ' : { ' method ' : ' GET ',' index _ name ' : ' project.test .a=11b=22'},' field ' : { ' @ timestamp ' :[' 2021-12-06t 07:45336020.056z ']},' sort ' :[1638776720056]} defest():

level_mapping['CRITICAL']

timeit.repeat(lambda:test())

[0.08700739999994767,0.0864886999997907,0.08675769999990735]

#中括号加尝试除外

defest 1(:)

尝试:

level_mapping['CRITICA']

除外:

及格

timeit.repeat(lambda:test1())

[0.0916477999991879,0.092180999999999823,0.0907655000009999814]# key存在

[0.17694680000022345,0.1759290999998484,0.17659199916584]# key不存在

defest 2(:)

level_mapping.get('CRITICAL ')

timeit.repeat(lambda:test2())

[0.131671400000414,0.12985489999982747,0.13035420000005615]中括号获取比得到方式快了50%左右;

但当使用中括号加尝试除了,关键不存在时要慢近一倍;

使用得到时键存不存在设不设默认值都一样。

复杂获取

defest 3(:)

级别_映射[记录['_source']['level']]

timeit.repeat(lambda:test3())

[0.1141027999999551,0.11351319999994303,0.11431539999989582]

defest 4(:)

级别_映射。获取(记录。获取(' _ source ').获取(“级别”)

timeit.repeat(lambda:test4())

[0.22142400000007,0.21937850000017534,0.21913369999992938]随着数据的复杂嵌套和链式操作,这次快了整整一倍。

上述就是小编为大家分享的计算机编程语言字典查找性能的示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155759.html

(0)

相关推荐

  • mysql 发生系统错误1067(mysql数据库1067错误是怎么回事)

    技术mysql出现服务1067错误怎么办这篇文章将为大家详细讲解有关mysql出现服务1067错误怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 my

    攻略 2021年12月22日
  • Oracle 12.2 RAC报错ora-600 ora-07445怎么办

    技术Oracle 12.2 RAC报错ora-600 ora-07445怎么办这篇文章主要介绍Oracle 12.2 RAC报错ora-600 ora-07445怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小

    攻略 2021年11月17日
  • JAVA并发容器有哪些

    技术JAVA并发容器有哪些这篇文章主要介绍“JAVA并发容器有哪些”,在日常操作中,相信很多人在JAVA并发容器有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JAVA并发容器有哪些”

    攻略 2021年11月17日
  • 能歌善舞近义词,“长袖善舞”指人能歌善舞吗

    技术能歌善舞近义词,“长袖善舞”指人能歌善舞吗“长袖善舞”语出《韩非子。五蠹》:“治强不可贵于外能歌善舞近义词,内政之有也。 今不行法术于内,而事智于外,则不至于治强矣。鄙谚曰:‘长袖善舞,多钱善贾。’此言多资之易为工也

    生活 2021年10月27日
  • 化妆品牌子大全,日本有哪些好用的化妆品牌

    技术化妆品牌子大全,日本有哪些好用的化妆品牌日本女生从初中开始很多就开始化妆了化妆品牌子大全,所以整体国家的化妆品还是发展的很不错的,毕竟需求大嘛,而且从贵妇到大众品牌一应俱全,很多大集团都会出不同价位的品牌,以满足不同

    生活 2021年11月1日
  • python实现中心极限定理(用python求极限limit)

    技术Python怎么实现中心极限定律这篇文章主要讲解了“Python怎么实现中心极限定律”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现中心极限定律”吧

    攻略 2021年12月21日