Mam listęSortowanie listy słownika pod warunkiem zamówienia
order = [8, 7, 5, 9, 10, 11]
oraz listę słowników
list_of_dct = [{'value':11}, {'value':8}, {'value':5}, {'value':7}, {'value':10}, {'value':9}]
Chcę uporządkować ten list_of_dct
według kolejności podanej w wykazie, tj order
wyjście powinno być następujące:
list_of_dct = [{'value':8}, {'value':7}, {'value':5}, {'value':9}, {'value':10}, {'value':11}]
Wiem, jak sortować według podanej key
, ale nie wtedy, gdy zamówienie zostało już wydane. Jak mogę to posortować?
PS: Mam już rozwiązanie O (n^2). Szukasz lepszego rozwiązania.
po próbach ur .. –
Czy kluczowa wartość "wartość" jest statyczna dla wszystkich dyktujących na liście, czy jest to tylko symbol zastępczy? Czy lista 'order' zawiera również wszystkie elementy obecne w dykcie, np. Duplikaty? –
Zamiast wykonywania ogólnego sortowania, bardziej wydajne byłoby zbudowanie 'dyktatu' zawierającego wartości jako klucze, a następnie wyodrębnienie wpisów w kolejności od tego. Pytania: (1) Czy każda wartość w 'porządku' jest znana jako wartość w' list_of_dct'? (2) Czy ta sama wartość może wystąpić więcej niż raz w 'list_of_dct'? –