Ho un elenco, con un ordine specifico:Applicare l'ordine della lista all'altra liste
L = [1, 2, 5, 8, 3]
E alcune liste sub con elementi della lista principale, ma con un ordine diverso:
L1 = [5, 3, 1]
L2 = [8, 1, 5]
Come posso applicare l'ordine di L
a L1
e L2
?
Per esempio, l'ordine corretto dopo l'elaborazione dovrebbe essere:
L1 = [1, 5, 3]
L2 = [1, 5, 8]
sto cercando qualcosa di simile, ma sto lottando come impostare la nuova lista con l'ordine corretto.
new_L1 = []
for i in L1:
if i in L:
print L.index(i) #get the order in L
O semplicemente 'key = L.index'. – GingerPlusPlus
Non ho familiarità con Python, ma non riesco a immaginare come questo dovrebbe * not * diminuire il tempo per l'ordinamento da 'O (n * log (n))' a 'O (n * n * log (n))' . Se questo è il caso, è possibile solo per le piccole liste. Per gli elenchi più grandi, si dovrebbe probabilmente creare una specie di dizionario 'O (1)' -lookup dagli elementi al loro indice nella lista 'L'. – Marco13