我得到了以下词典:总结阵列的字典在Python
mydict = {
'foo': [1,19,2,3,24,52,2,6], # sum: 109
'bar': [50,5,9,7,66,3,2,44], # sum: 186
'another': [1,2,3,4,5,6,7,8], # sum: 36
'entry': [0,0,0,2,99,4,33,55], # sum: 193
'onemore': [21,22,23,24,25,26,27,28] # sum: 196
}
我需要有效地过滤出并通过阵列的总和的前x条目进行排序。
例如,前3名排序和过滤列表上面的例子是
sorted_filtered_dict = {
'onemore': [21,22,23,24,25,26,27,28], # sum: 196
'entry': [0,0,0,2,99,4,33,55], # sum: 193
'bar': [50,5,9,7,66,3,2,44] # sum: 186
}
我是相当新的Python和尝试过自己与链接之和过滤功能在lambda函数上,但与实际的语法挣扎。
你如何为O(n + 3 log n)的,它应该是O(N日志K),或者当k = 3恒取消出来,你会得到O(n) – 2010-08-05 14:18:09
在我的现实世界的例子中,它是几十万的前100名,因此heapq的例子可能是首选。谢谢。 – poezn 2010-08-05 17:43:08
只是意识到这不会给我一个字典,但一组数组。有任何想法吗? – poezn 2010-08-05 20:52:02