Ciao!
Devi unicamente ordinare le liste!
Le chiavi del dizionario non hanno assolutamente bisogno di ordinamento.
Per farti capire il problema delle liste, ti faccio un esempio che ho già fatto altre due volte in domande di questo tipo:
Devo fare l'esame A, ma l'esame A richiede un esame preliminare denominato B.
Anche B richiede un esame preliminare, che si chiama C.
Ora, io, per poter fare l'esame A devo fare in ordine prima C e poi B!
Invece sono sicuro che a te, in un problema del genere e col tuo algoritmo, verrebbe che devi fare prima B e poi C perché hai semplicemente inserito B prima di C.
Consiglio: alla fine potresti invertire tutte le liste del dizionario, prendendole come: lista = lista[::-1]
Sperando di essere stato chiaro,
Buona giornata
- Francesco Pio Scognamiglio