Python:存储数字键值对的最佳方法是什么? [处于保留状态]

问题描述 投票:-1回答:2

我有由数字键和值组成的数据。我需要将所有键和值增加N个数字。当我使用字典获取大量数据时,我的代码工作非常缓慢。存储此数据的最佳方法是什么?增加对值的最佳方法是什么?

示例:

N=2
{1:4,3:6,2:1}

预期结果:

{3:6,5:8,4:2}

谢谢

python algorithm python-2.7 hash hashmap
2个回答
0
投票

如果您想更改字典的全部数据,我们实际上无法更快地执行某些操作。即使有人运行for循环,我们也不确定O(N)的复杂性,因为内部可能会有重新哈希操作。

最好的是,您可以巧妙地使用内存中的一个额外变量进行更新。

最初喜欢

del = 0和d = {1:4,3:6,2:1}当您想将值和键增加N时更新del+=N

同时从字典中检索键值k使用d[k-del]+del


0
投票

关于此问题,最好的解决方法是O(N),无论您使用哪种数据结构,都必须访问每个元素的值并对其进行递增。

© www.soinside.com 2019 - 2024. All rights reserved.