标签: python performance list dictionary optimization
与使用整数的索引列表(即l[4])相比,索引使用短字符串作为键的Python字典的速度有多慢?我知道这里的理论最坏情况;但是,Python是否正在进行任何优化,使得实际差异可以忽略不计?
l[4]
我的键是单个小写字母或两个大写字母,最多 26 + 26 * 26 = 702键。平均键数非常小,< 50.扩展现有解决方案以将密钥转换为整数,调整间隙,使用列表而不是字典并不是一个难题,但如果性能差异可以忽略不计,那么就没有任何意义。
答案 0 :(得分:2)
似乎列表更快:
LIST
DICT
这是有道理的:数字随机访问工作相当快,但是使用dict键时, getter必须首先进行哈希,这会使其显着减慢,以便您可以注意128 ** 3访问后的距离。
128 ** 3
真的,差异可以忽略不计,根据您的使用情况,dict在您需要key: value的地方可能会更好。但是对于速度,列表更好,但如果您的访问键不仅仅是整数,那么dicts可能更好。
key: value