Вопрос задан 07.03.2025 в 13:25. Предмет Информатика. Спрашивает Мальцев Сергей.

Python: минимум и максимум в матрице.

Перейти к ответам

Ответы на вопрос

Отвечает Кузьминов Данил.

Если вам нужно найти минимум и максимум в матрице на Python, то это можно сделать разными способами в зависимости от структуры данных, с которой вы работаете. Давайте разберем несколько подходов.


1. Использование встроенных функций min() и max()

Если ваша матрица представлена в виде списка списков, то можно воспользоваться функциями min() и max() с применением map():

python
matrix = [ [3, 5, 1], [7, 8, 2], [9, 4, 6] ]

# Находим минимум и максимум по всем элементам матрицы min_value = min(map(min, matrix)) max_value = max(map(max, matrix))

print("Минимум:", min_value) print("Максимум:", max_value)

Объяснение:

  • map(min, matrix) применяет min() к каждой строке матрицы, находя минимум в каждой строке. Затем min() находит минимальный из этих значений.
  • map(max, matrix) делает аналогично, но для максимума.

2. Использование NumPy

Библиотека numpy значительно упрощает работу с матрицами и массивами.

python
import numpy as np

matrix = np.array([ [3, 5, 1], [7, 8, 2], [9, 4, 6] ])

min_value = matrix.min() max_value = matrix.max()

print("Минимум:", min_value) print("Максимум:", max_value)

Преимущества этого метода:

  • Работает быстрее, чем стандартные списки Python.
  • Код более читаемый и компактный.

3. Поиск вручную через цикл

Если по каким-то причинам нельзя использовать min() и max(), можно найти минимум и максимум вручную:

python
matrix = [ [3, 5, 1], [7, 8, 2], [9, 4, 6] ]

min_value = float('inf') # Начальное значение — бесконечность max_value = float('-inf') # Начальное значение — минус бесконечность

for row in matrix: for num in row: if num < min_value: min_value = num if num > max_value: max_value = num

print("Минимум:", min_value) print("Максимум:", max_value)

Объяснение:

  • float('inf') используется для установки начального большого значения.
  • Два вложенных цикла перебирают элементы матрицы, обновляя min_value и max_value при необходимости.

Этот метод полезен, если вы хотите добавить какую-то логику в поиск (например, игнорировать отрицательные числа).


Итог

Если у вас простая матрица, лучше использовать min(map(min, matrix)) и max(map(max, matrix)). Если матрица большая и требуется высокая производительность, рекомендуется использовать numpy. Если нужно написать алгоритм вручную (например, для обучения), подойдет метод с циклами.

Какой способ использовать, зависит от ваших требований к коду:
Простотаmin(map(min, matrix))
Производительностьnumpy
Гибкость → ручной перебор через циклы

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос