字典查找(字符串键)之间的Python性能差异列表索引

时间:2017-09-29 12:14:15

标签: python performance list dictionary optimization

与使用整数的索引列表(即l[4])相比,索引使用短字符串作为键的Python字典的速度有多慢?我知道这里的理论最坏情况;但是,Python是否正在进行任何优化,使得实际差异可以忽略不计?

我的键是单个小写字母或两个大写字母,最多 26 + 26 * 26 = 702键。平均键数非常小,< 50.扩展现有解决方案以将密钥转换为整数,调整间隙,使用列表而不是字典并不是一个难题,但如果性能差异可以忽略不计,那么就没有任何意义。

1 个答案:

答案 0 :(得分:2)

似乎列表更快:

LIST

DICT

这是有道理的:数字随机访问工作相当快,但是使用dict键时, getter必须首先进行哈希,这会使其显着减慢,以便您可以注意128 ** 3访问后的距离。

真的,差异可以忽略不计,根据您的使用情况,dict在您需要key: value的地方可能会更好。但是对于速度,列表更好,但如果您的访问键不仅仅是整数,那么dicts可能更好