为什么Python的字典比List更快?
0 378
0
该提问暂无详细描述
收藏
2021-02-17 15:59 更新 空心人 •  2540
共 1 个回答
高赞 时间
0

这完全取决于它们在内部如何实现。 当通过索引号访问某项时,实际上列表会非常快-因为后台发生的所有事情都是直接访问已知且易于计算的内存位置。但是,搜索(使用in)时,列表可能会非常慢,因为搜索列表的唯一方法是访问列表中从第零个元素到最后一个元素的每个项目。 字典使用一种称为哈希图的数据结构(Python字典是经过优化的版本),并且将使用哈希算法将键从字符串(或其他任何形式)转换为整数,得到该整数的计算方法非常简单,并在字典中找到合适的位置进行查找。 列表和字典之间的差异,好比是大量书架与图书馆之间的差异。要在一组书架上查找一本书,就必须一次搜索每个书架,而图书馆拥有一个索引,可以使读者从书名直接转到特定书架。在Python词典中,“散列算法”来充当库索引 转载自:https://www.quora.com/Why-are-Python-dictionaries-faster-than-Lists

收藏
2021-02-17 16:07 更新 小眼的铁板烧 •  2910