Вызов, отсортированный по вложенному списку, который будет сортироваться только по первому индексу в списке.
Пример:
arr = [[8, 27, 6],[1, 0, 11],[10, 15, 3], [16, 12, 14], [4, 9, 13]]
вернется
[[1, 0, 11], [4, 9, 13], [8, 27, 6], [10, 15, 3], [16, 12, 14]]
Чтобы сделать это так, как вы хотите, вам придется сгладить, а затем изменить форму.
Чтобы сделать это, я бы попробовал ввести numpy.
import numpy as np
a = np.array(sorted(sum(arr, [])))
#sorted(sum(arr, [])) flattens the list
b = np.reshape(a, (-1,3)).tolist()
РЕДАКТИРОВАНИЕ ДЛЯ ЯРКОСТИ: вы можете использовать ваши m и n в качестве параметров в np.reshape.Первый параметр (m) возвращает число массивов, а (n) возвращает количество массивов.
Использование -1 в любом из параметров означает, что измененный массив будет пригоден для возврата требованийдругого параметра.
b вернется
[[0, 1, 3], [4, 6, 8], [9, 10, 11], [12, 13, 14], [15, 16, 27]]