Hi Raymond, Your code work well, thank you :)
Best regards, Davy On Nov 13, 11:33 am, Raymond Hettinger <[EMAIL PROTECTED]> wrote: > On Nov 12, 6:56 pm, Davy <[EMAIL PROTECTED]> wrote: > > > I have a dictionary with n elements, and I want to get the m(m<=n) > > keys with the largest values. > > > For example, I have dic that includes n=4 elements, I want m=2 keys > > have the largest values) > > dic = {0:4,3:1,5:2,7:8} > > So, the the largest values are [8,4], so the keys are [7,0]. > > > How to do this by nlargest() of heapq? I have tried > > nlargest(2,dic,key), > > Try this: > > >>> from heapq import nlargest > >>> dic = {0:4,3:1,5:2,7:8} > >>> from operator import itemgetter > >>> nlargest(2, dic, dic.__getitem__) > > [7, 0] > > Raymond -- http://mail.python.org/mailman/listinfo/python-list