Ho le seguenti dizionari:Ordina per valori (discendente) e quindi i tasti (crescente) nel dizionario Python
mydict1 = {1: 11, 2: 4, 5: 1, 6: 1}
mydict2 = {1: 1, 5: 1}
Per ognuno di loro mi piacerebbe Ordina per valori (discendente) e quindi tasti (in ordine crescente), ottenendo questo risultato:
out_dict1 = [((1, 11), (2, 4), (5, 1), (6, 1)]
out_dict2 = [(1, 1), (5, 1)]
Qual è il modo per farlo?
Ho usato questo, ma non si può ottenere il risultato costantemente per due casi di cui sopra:
sorted(mydict.items(), key=lambda x: (x[1],x[0]))
Tutte le chiavi e i valori sono sempre garantiti come numeri? Se è così, allora la soluzione di @ thefoureye è la più semplice. In caso contrario, hai bisogno di un po 'di più ... che Python abilita grazie al suo tipo essendo garantito ** stabile ** ... –