Desidero ordinare una lista inizialmente con un valore e poi con un secondo valore. C'è un modo semplice per farlo? Ecco un piccolo esempio:Python: come ordinare un elenco di dizionari in base a diversi valori?
A = [{'name':'john','age':45},
{'name':'andi','age':23},
{'name':'john','age':22},
{'name':'paul','age':35},
{'name':'john','age':21}]
Questo comando è per l'ordinamento questa lista 'name'
:
sorted(A, key = lambda user: user['name'])
Ma come posso ordinare questa lista da un secondo valore? Come 'age'
in questo esempio.
Voglio un ordinamento come questo (Ordina per 'name'
e poi ordina per 'age'
):
andi - 23
john - 21
john - 22
john - 45
paul - 35
Grazie!
Su un lato non: sorta di Python è garantita * * a essere stabile, in tal modo si può semplicemente 'sort' da' age' e poi da 'name' per ottenere il risultato che si voleva. (nota che i tasti sono in ordine inverso, per prima cosa devi ordinare la seconda chiave e poi la prima). – Bakuriu