Как сортировать двумерный массив Python: легкая сортировка с помощью функции sort()
Для сортировки двумерного массива в Python вы можете использовать функцию sorted()
c параметром key
, указав функцию, которая будет использоваться в качестве ключа сортировки.
массив = [[5, 2], [10, 1], [8, 3]]
отсортированный_массив = sorted(массив, key=lambda x: x[0])
Детальный ответ
Как сортировать двумерный массив python
Сортировка двумерного массива в языке программирования Python может быть выполнена с использованием различных подходов, включая встроенные функции и методы. В этой статье мы рассмотрим несколько методов сортировки двумерных массивов и приведем примеры кода для каждого метода.
Метод 1: Использование функции sorted()
Функция sorted() является встроенной функцией Python, которая позволяет сортировать любые итерируемые объекты, включая двумерные массивы. Для сортировки двумерного массива по строкам или столбцам можно использовать параметр key для определения критерия сортировки.
matrix = [
[4, 3, 2],
[7, 1, 5],
[6, 8, 9]
]
# Сортировка по строкам в порядке возрастания
sorted_matrix_rows = [sorted(row) for row in matrix]
# Сортировка по столбцам в порядке возрастания
sorted_matrix_cols = [sorted(column) for column in zip(*matrix)]
print("Сортировка по строкам:")
print(sorted_matrix_rows)
print("Сортировка по столбцам:")
print(sorted_matrix_cols)
Метод 2: Использование метода sort()
Метод sort() является встроенным методом для списков в Python. Вместо создания нового отсортированного массива, метод sort() сортирует массив на месте. Для сортировки двумерного массива по строкам или столбцам, мы можем использовать метод sort() в цикле для каждой строки или столбца.
matrix = [
[4, 3, 2],
[7, 1, 5],
[6, 8, 9]
]
# Сортировка по строкам в порядке возрастания
for row in matrix:
row.sort()
# Сортировка по столбцам в порядке возрастания
for column in zip(*matrix):
column.sort()
print("Сортировка по строкам:")
print(matrix)
print("Сортировка по столбцам:")
sorted_matrix_cols = [list(column) for column in zip(*matrix)]
print(sorted_matrix_cols)
Метод 3: Использование функции itemgetter()
Модуль operator в Python предоставляет функцию itemgetter(), которая позволяет сортировать двумерные массивы по указанным индексам столбцов или строк. Мы можем передать индексы столбцов или строк в функцию itemgetter() и затем использовать ее в функции sorted() или методе sort().
from operator import itemgetter
matrix = [
[4, 3, 2],
[7, 1, 5],
[6, 8, 9]
]
# Сортировка по строкам в порядке возрастания
sorted_matrix_rows = sorted(matrix, key=itemgetter(0))
# Сортировка по столбцам в порядке возрастания
sorted_matrix_cols = sorted(matrix, key=itemgetter(0))
print("Сортировка по строкам:")
print(sorted_matrix_rows)
print("Сортировка по столбцам:")
print(sorted_matrix_cols)
Теперь у вас есть три разных метода сортировки двумерного массива в Python. Каждый из них может быть использован в зависимости от ваших потребностей и предпочтений. Попробуйте применить эти методы в своих проектах и выберите тот, который наилучшим образом соответствует вашим требованиям.