[Tutor] Alice_in_wonderland Question
Peter Otten
__peter__ at web.de
Tue May 6 18:51:29 CEST 2014
Jake Blank wrote:
> I finally got it.
> This was the code:
> for k in sorted(word_count, key=lambda x:word_count[x], reverse=True):
> print (k, word_count[k])
>
> The only question i have now is how to limit the amount of returns the
> program runs to the first 15 results.
Hint: you can make a list of the first N items of a list with
some_list = some_list[:N]
The list in question is
sorted(word_count, key=lambda x:word_count[x], reverse=True)
You might also try the heapq.nlargest() function:
>>> word_count
{'pewter': 12, 'rawboned': 2, 'accolade': 2, 'Messiah': 15, 'summoning': 17,
'sleeking': 6, 'parse': 14, 'Freya': 8, 'chroniclers': 13, 'faith': 1}
>>> import heapq
>>> for word in heapq.nlargest(5, word_count, key=lambda w: word_count[w]):
... print(word, word_count[word])
...
summoning 17
Messiah 15
parse 14
chroniclers 13
pewter 12
See also <https://docs.python.org/dev/library/heapq.html#heapq.nlargest>
More information about the Tutor
mailing list