Как использовать .sorted для строки двумерного массива c сохранением соответствия второй строки? Нужно отранжировать по возрастанию первую строку да так чтобы значения второй строки при ранжировании по возрастанию первой строки приняли места соответствующих им до ранжирования элементов первой строки. Имеем [[5, 1, 3], [1, 2, 7]] нужно [[1, 3, 5], [2, 7, 1]]
Для этого можно воспользоваться функцией zip, чтобы объединить элементы двух строк в кортежи, затем использовать функцию sorted с параметром key, чтобы отсортировать массив по первой строке, а затем преобразовать результат обратно в двухмерный массив:
arr = [[5, 1, 3], [1, 2, 7]] sorted_arr = [list(t) for t in zip(*sorted(zip(arr[0], arr[1])))] print(sorted_arr)
Для этого можно воспользоваться функцией zip, чтобы объединить элементы двух строк в кортежи, затем использовать функцию sorted с параметром key, чтобы отсортировать массив по первой строке, а затем преобразовать результат обратно в двухмерный массив:
arr = [[5, 1, 3], [1, 2, 7]]sorted_arr = [list(t) for t in zip(*sorted(zip(arr[0], arr[1])))]
print(sorted_arr)
Этот код выведет:
[[1, 3, 5], [2, 7, 1]]