Powiedzmy, że mam dwie listy:
list1 = [3, 2, 4, 1, 1]
list2 = ['three', 'two', 'four', 'one', 'one2']
Jeśli uruchomię list1.sort()
, posortuje to, [1,1,2,3,4]
ale czy istnieje również sposób na list2
zsynchronizowanie (więc mogę powiedzieć, że element 4
należy 'three'
)? Tak więc oczekiwany wynik to:
list1 = [1, 1, 2, 3, 4]
list2 = ['one', 'one2', 'two', 'three', 'four']
Mój problem polega na tym, że mam dość złożony program, który działa dobrze z listami, ale muszę zacząć odwoływać się do niektórych danych. Wiem, że jest to idealna sytuacja dla słowników, ale staram się unikać słowników podczas przetwarzania, ponieważ muszę sortować kluczowe wartości (jeśli muszę używać słowników, wiem, jak ich używać).
Zasadniczo charakter tego programu polega na tym, że dane są w losowej kolejności (jak powyżej), muszę je posortować, przetworzyć, a następnie wysłać wyniki (kolejność nie ma znaczenia, ale użytkownicy muszą wiedzieć, do którego wyniku należy klucz). Myślałem o umieszczeniu go najpierw w słowniku, a potem posortowaniu listy, ale nie miałbym możliwości rozróżnienia pozycji o tej samej wartości, gdyby nie zachowano kolejności (może to mieć wpływ na komunikowanie wyników użytkownikom). Więc idealnie, gdy już otrzymam listy, wolałbym wymyślić sposób posortowania obu list razem. czy to możliwe?