对比python中字典的key的两种查询方式效率

判断python字典中是否存在某个键值

两种查询方式

1、

dic={}
if 'abc' in dic.keys():
	print('abc 存在于字典的键中')

2、

dic={}
if 'abc' in dic:
 print('abc 存在于字典的键中')

两种查询方式的区别在于第一种方式查询的是字典的keys(),第二个查询的是字典本身。这两种方式看似没有很大差别,因为第一种方法不过是使用了字典键值组成的list,但实际上这涉及到了list查询与字典查询的效率比较。

列表和字典的查询效率比较

这个问题很多博客也做过比较,在我自己的代码中,我同样对上面两种情况进行了比较,结果相差巨大:

#扫描a.txt,里面的内容是一个使用json.dump()存储的list
with open(os.path.join(path,func,f,'a.txt'),'r')as r:
     apis=json.load(r)
     for a in apis:
        if a not in api_sole:
             api_sole[a]=1
       elif a in api_sole:
             api_sole[a]+=1

上面的代码很简单,遍历list中的每一个元素,如果该元素存在于api_sole这个字典的键中,那就对字典对应的value加一,如果没在字典的键中

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值