Как сортировать двумерный массив 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. Каждый из них может быть использован в зависимости от ваших потребностей и предпочтений. Попробуйте применить эти методы в своих проектах и выберите тот, который наилучшим образом соответствует вашим требованиям.

Видео по теме

Сортировка двумерных массивов в Python

#16. Вложенные списки, многомерные списки | Python для начинающих

29 Вложенные списки Python

Похожие статьи:

Как разбить текст на символы в Python 🔍📄

🔐 Как создать архив python zip: пошаговое руководство

🔥 Как экранировать символы в регулярных выражениях Python: 5 простых способов

Как сортировать двумерный массив Python: легкая сортировка с помощью функции sort()

Что такое п в питоне? 🐍 Узнайте основные понятия и функции языка программирования Python

🔍 Как правильно брать модуль в Python и использовать его

📝 Как записать в файл в Python: пошаговое руководство для начинающих!