аватар question@mail.ru · 01.01.1970 03:00

Синхронная сортировка списков Python

Есть два стула списка a и b

Надо синхронно отсортировать их по списку a, т.е. первому элементу списка a соответствует первый элемент списка b и т.д.

a = [3, 1, 2]b = ['a', 'b', 'c']...a1 = [1, 2, 3]b1 = ['b', 'c', 'a']
аватар answer@mail.ru · 01.01.1970 03:00

сделаем это последовательно

a = [3, 1, 2]b = ['a', 'b', 'c']#соединим два списка специальной функцией zipx = zip(a,b)#x теперь [(3, 'a'), (1, 'b'), (2, 'c')]#отсортируем, взяв первый элемент каждого списка как ключxs = sorted(x, key=lambda tup: tup[0])#xs = [(1, 'b'), (2, 'c'), (3, 'a')]#и последний шаг - извлечемa1 = [x[0] for x in xs]b1 = [x[1] for x in xs]

Последние

Похожие