Diccionario no mantiene ningún orden, por lo que antes de elegir los mejores pares de valores de la clave N, hagámoslo.
import operator
d = {'a': 3, 'b': 2, 'c': 3, 'd': 4}
d=dict(sorted(d.items(),key=operator.itemgetter(1),reverse=True))
#itemgetter(0)=sort by keys, itemgetter(1)=sort by values
Ahora podemos hacer la recuperación de elementos superiores 'N' :, utilizando la estructura método como este:
def return_top(elements,dictionary_element):
'''Takes the dictionary and the 'N' elements needed in return
'''
topers={}
for h,i in enumerate(dictionary_element):
if h<elements:
topers.update({i:dictionary_element[i]})
return topers
para obtener la parte superior de 2 elementos, entonces simplemente utilizar esta estructura:
d = {'a': 3, 'b': 2, 'c': 3, 'd': 4}
d=dict(sorted(d.items(),key=operator.itemgetter(1),reverse=True))
d=return_top(2,d)
print(d)
Creo 'iteritems' deben ser reemplazados con' 'de los artículos para la gente en Python 3 –