utopia的专栏

千里之行,始于足下 keep hungry, keep foolish. We are all together.

python dict访问

今天把一个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)的操作。

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

阅读更多
文章标签: python kill list
个人分类: Python
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭