给定Python dict
的形式:
dict = {'Alice': 2341, 'Beth': 9102, 'Cecil': 3258, ......}
有没有一种简单的方法可以打印出具有最高数值的前x个键?也就是说:
Beth 9102
Cecil 3258
目前这是我的尝试:
max = 0
max_word = ""
for key, value in w.word_counts.iteritems():
if value > max:
if key not in stop_words:
max = value
max_word = key
print max_word
使用^{} :
它使用的
sorted
(O(n*log n)
)或heapq.nlargest(k)
可能比sorted
ifk << n
或max()
ifk==1
快。你知道吗我只需按第二个值对项目进行排序,然后选择第一个K元素:
这种方法的复杂性是
O(N log N + K)
,与最优O(N + K log K)
(仅使用快速选择和排序前K个元素)没有太大区别。你知道吗相关问题 更多 >
编程相关推荐