python 2.7中的字典

bil*_*ill 2 python optimization dictionary

我是python的新手,我有一个问题.在这个脚本中,我重命名字符串的元素.对于小输入z <1mb的文本文件时间很短.如果我尝试输入超过2Mb,则需要超过1小时.

是字典造成的时间问题吗?我应该尝试通过列表或设置来接近吗?我已经看过这篇文章Python:List vs Dict查找有关dicts优于列表的查找表.我有点困惑.

lej*_*lot 6

首先if word in d.keys()非常慢,因为它d每次构建包含所有键的列表.你应该使用if word in d,而不是(这是快,因为它不创造新的obkects)

  • 另外,`如果d.keys()中的单词执行*list*搜索(线性时间); `如果d中的单词执行*字典*搜索(恒定时间). (2认同)