def process_file_path_list(self, path_list, total_tf_map):
    for path_ in path_list:
        tf_dict = self.process_file(path_) # extract word in file
        for (key, value) in tf_dict.items():
            # update dict
            if key in total_tf_map.keys():
                total_tf_map[key] += value
            else:
                total_tf_map[key] = value                total_tf_map[key] = value
                
单次查询中:看来list 就是O(n)的;而set做了去重,本质应该一颗红黑树(猜测,STL就是红黑树),复杂度O(logn);dict类似对key进行了hash,然后再对hash生成一个红黑树进行查找,其查找复杂其实是O(logn),并不是所谓的O(1)。O(1)只是理想的实现,实际上很多hash的实现是进行了离散化的。dict比set多了一步hash的过程,so 它比set慢,不过差别不大。

so,如果是要频繁的查找,请使用set吧!

相关文章:

  • 2022-01-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-30
  • 2021-06-07
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-10
  • 2022-01-20
  • 2022-12-23
  • 2021-11-21
相关资源
相似解决方案