On 7 mai, 23:50, Paul Rubin <http://[EMAIL PROTECTED]> wrote: (snip) > Someone else suggested the heapq module, which is a good approach > though it might be considered a little bit high-tech. If you > want to use sorting (conceptually simpler), you could use the > sorted function instead of the in-place sorting function: > > # return the second element of a 2-tuple. Note how we > # use tuple unpacking: this is really a function of one argument > # (the tuple) but we specify the arg as (a,b) so the tuple > # is automatically unpacked on entry to the function. > # this is a limited form of the "pattern matching" found in > # languages like ML. > def snd((a,b)): return b
operator.itemgetter does this already > return sorted(dic.iteritems, key=snd, reverse=True)[-3:] you want to actually call iteritems here !-) return sorted(dic.iteritems(), key=operator.itemgetter(1), reverse=True) Thanks for reminding me the 'key' argument to sorted anyway - I too often tend to forget it. -- http://mail.python.org/mailman/listinfo/python-list