【发布时间】:2011-02-04 09:13:40
【问题描述】:
我有一个大型 python 字典(65535 个键:值对),其中键是范围(0, 65536),值是整数。
我找到的对该数据结构进行排序的解决方案发布在此处: Sort a Python dictionary by value
该解决方案有效,但不一定很快。
为了使问题进一步复杂化,我有可能拥有许多(数千个)这样的字典,我必须在排序之前将它们组合起来。我目前正在通过迭代一个字典中的对、在另一个字典中进行键查找以及适当地添加/更新条目来组合这些字典。
这使我的问题变成了两个问题:
1) 字典是解决这个问题的正确数据结构吗?自定义树或其他东西更有意义吗?
2)如果字典是明智、合理的选择,那么将字典的倍数组合然后排序的理想方法是什么?
对我来说,一个解决方案可能是重新设计我的程序流程,以便将维护的字典数量减少到一个,尽管这更像是最后的手段。
谢谢
【问题讨论】:
-
如果键是(连续的)整数,为什么不使用列表呢?
-
合并字典的步骤似乎可以通过
A.update(B)来实现。 -
所以我意识到提出问题的更正确方法是“我需要一个键和值都是整数的值排序字典”。它需要基于键:值,因为我想根据值排序,但返回键进行分析。
标签: python sorting dictionary