我有一个包含大约50,000个整数值的dict,以及一个包含100个密钥的集合。我的内部循环以不可预测的方式递增或递减dict项的值。
我需要定期使用集合中尚未存在的最大元素的键替换集合中的一个成员。顺便说一下,如果对dict项进行了排序,那么在这个例程的调用之间,排序的顺序会略有变化,而不是显着变化。
每次重新排序整个dict似乎都很浪费,尽管可能不那么严重,因为它已经“几乎”排序了。虽然我可能会对过早的优化感到内疚,但性能会很重要,因为这将会进行大量的迭代,所以我认为值得问我的优点是否有明显更高效和pythonic的方法。
我知道dict“views”的概念 - Windows内容随着内容的变化而更新。是否存在“排序视图”这样的事情?
答案 0 :(得分:0)
您可以使用Counter具有整齐dict
方法的twos-complement对象,而不是使用most_common(n)
返回n个最常见元素及其计数的列表,从最常见到最少。