Есть два стула списка a и b
Надо синхронно отсортировать их по списку a, т.е. первому элементу списка a соответствует первый элемент списка b и т.д.
a = [3, 1, 2]b = ['a', 'b', 'c']...a1 = [1, 2, 3]b1 = ['b', 'c', 'a']
PythonLib
Питон для всех
question@mail.ru
·
01.01.1970 03:00
Есть два стула списка 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]