python dict访问

来源:互联网 发布:mac进入命令行模式 编辑:程序博客网 时间:2024/05/17 05:19

今天把一个150多万的key装进dict, 对数据量上百万的查询dict, 判断某个key是否在dict中,听某些人(网上)说用 key in dict.keys();速度会比 dict.has_key(key)要快很多。

结果我使用了下面的语句:

if key in dict.keys():

value = dict[key]

  do_something_else

由于查询的数据量上万,程序跑了半小时还没见反应。直接kill了。

后面想起直接用 

if key in dict:

value = dict[key]

do_something_else

      不到10秒就跑完了。

原因分析:dict.keys()返回的是一个List, 可见时间复杂度是O(n), 失去了dict的本质。直接用in 就是O(1)的操作。

很多东西还是要自己验证~~

原创粉丝点击