Mam listę, o określonej kolejności:Zastosuj kolejność listy do kolejnych listach
L = [1, 2, 5, 8, 3]
a niektóre list sub z elementami listy głównej, ale z innej kolejności:
L1 = [5, 3, 1]
L2 = [8, 1, 5]
Jak zastosować kolejność L
do L1
i L2
?
Na przykład, prawidłowa kolejność po przetwarzania powinny być:
L1 = [1, 5, 3]
L2 = [1, 5, 8]
Próbuję coś takiego, ale walczę jak ustawić nową listę z właściwej kolejności.
new_L1 = []
for i in L1:
if i in L:
print L.index(i) #get the order in L
Albo po prostu 'key = L.index'. – GingerPlusPlus
Nie jestem zaznajomiony z python, ale nie mogę sobie wyobrazić, jak to powinno * nie * zmniejszyć czas sortowania z 'O (n * log (n))' do 'O (n * n * log (n))' . W takim przypadku jest to możliwe tylko w przypadku małych list. W przypadku większych list, należy prawdopodobnie zbudować słownik "O (1)" z elementów do ich indeksu na liście 'L'. – Marco13