anagram finder / dict mapping question

Kam-Hung Soh kamhung.soh at gmail.com
Fri May 9 18:25:27 EDT 2008


On Sat, 10 May 2008 07:19:38 +1000, <umpsumps at gmail.com> wrote:

>> > What would be the best method to print the top results, the one's that
>> > had the highest amount of anagrams??  Create a new histogram dict?
>>
>> You can use the max() function to find the biggest list of anagrams:
>>
>> top_results = max(anagrams.itervalues(), key=len)
>>
>> --
>> Arnaud
>
> That is the biggest list of anagrams, what if I wanted the 3 biggest
> lists?  Is there a way to specific top three w/ a max command??
>

Built-in max() function only returns one result.

My solution is to make a sorted list and return last three items:

sorted((len(anagrams[key]), key) for key in anagrams.keys())[-3:]

-- 
Kam-Hung Soh <a href="http://kamhungsoh.com/blog">Software Salariman</a>



More information about the Python-list mailing list