Issue in printing top 20 dictionary items by dictionary value
python at mrabarnett.plus.com
Sun Oct 5 03:41:07 CEST 2014
On 2014-10-05 02:11, Denis McMahon wrote:
> On Sat, 04 Oct 2014 09:11:43 +0000, Shiva wrote:
>> I have written a function that -reads a file -splits the words and
>> stores it in a dictionary as word(key) and the total count of word
>> in file (value).
>> I want to print the words with top 20 occurrences in the file in
>> reverse order - but can't figure it out. Here is my function:
> Once you've generated your dictionary, use a list comprehension to
> turn it into a list of tuples of ( word, count ). Sort the list of
> tuples according to the count element. Select the top 20. copy it to
> a new list and reverse that list. now loop through the second list
> and print results.
You don't need a list comprehension to turn it into a list of tuples,
and you don't need to sort and reverse as separate steps.
In fact, there's a class in the collections module that'll do virtually
all of the work for you!
More information about the Python-list