Forum >> Principianti >> Ordinamento Liste nascoste secondo indice fisso

Pagina: 1

Salve a tutti.
Mi trovo a dover gestire una lista con liste annidate di questo tipo:

lista=[[nid1,x1,y1,z1,dist1],[nid2,x2,y2,z2,dist2],…]

Vorrei ordinare lista in ordine crescente secondo dist, qualcuno di voi sa come farlo in modo semplice?

Faccio un esempio:

lista=[[1,0,0,0,0],[2,0,2,0,2],[3,0,6,0,6],[5,0,4,0,4]]

lista_ordinata=[[1,0,0,0,0],[2,0,2,0,2],[5,0,4,0,4],[3,0,6,0,6]]

lista_rinumerate=[[[1,0,0,0,0],[2,0,2,0,2],[3,0,4,0,4],[4,0,6,0,6]]

Grazie in anticipo per le vostre risposte.
Per l'ordinamento, utilizza l'ultimo elemento della lista annidata come chiave

>>> lista=[[1,0,0,0,0],[2,0,2,0,2],[3,0,6,0,6],[5,0,4,0,4]]
>>> lista.sort(key=lambda x: x[-1])
>>> lista
[[1, 0, 0, 0, 0], [2, 0, 2, 0, 2], [5, 0, 4, 0, 4], [3, 0, 6, 0, 6]]

Non comprendo cosa Tu intenda con "lista_rinumerate"




EDIT l'editor non risponde bene, quel secondo x della funzione lambda è seguito da un -1 tra parentesi quadre.




--- Ultima modifica di nuzzopippo in data 2022-01-18 08:43:52 ---

--- Ultima modifica di Daniele aka Palmux in data 2022-01-20 18:45:06 ---
Fatti non foste a viver come bruti...
Grazie come sempre per il tuo aiuto!
L'utilizzo della funzione lambda come mi hai indicato risolve perfettamente il mio problema.

:)


Pagina: 1



Esegui il login per scrivere una risposta.