python中find查找字典中的健_python – 从给定的列表快速查找字典中的所有键

  • Post author:
  • Post category:python


我有一个(可能相当大的)字典和一个“可能的”键列表。我想快速找到哪些键在字典中具有匹配的值。我发现了很多关于单字典值

here和

here的讨论,但没有讨论速度或多个条目。

我已经提出了四种方式,对于最好的三种方法,我比较以下不同样本大小的速度 – 有更好的方法吗?如果人们可以建议合理的竞争者,我也会对他们进行分析。

示例列表和字典创建如下:

import cProfile

from random import randint

length = 100000

listOfRandomInts = [randint(0,length*length/10-1) for x in range(length)]

dictionaryOfRandomInts = {randint(0,length*length/10-1): “It’s here” for x in range(length)}

方法1:’in’关键字:

def way1(theList,theDict):

resultsList = []

for listItem in theList:

if listItem in theDict:

resultsList.append(theDict[listItem])

return resultsList

cProfile.run(‘way1(listOfRandomInts,dictionaryOfRandomInts)’)

32个函数调用在0.018秒

方法2:错误处理:

def way2(theList,theDict):



版权声明:本文为weixin_42566121原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。