Опубликован: 28.10.2024 27
Условие: Дан произвольный двухмерный список:
[ [11, 32, 13, 44, 55], [31, 42, 53, 66, 75], [12, 26, 33, 45, 52], [15, 22, 35, 64, 57], [21, 52, 32, 44, 38], ]
Найдите максимальный и минимальный элементы и поменяйте их местами.
Решение:
Для поиска максимального и минимального элементов в двухмерном списке, а также соответствующих им индексов, воспользуемся функцией enumerate()
, которая позволяет получить значения и их индексы за один проход списка.
# исходный двухмерный список
lst = [
[11, 32, 13, 44, 55],
[31, 42, 53, 66, 75],
[12, 85, 33, 45, 52],
[15, 22, 35, 64, 57],
[21, 52, 32, 10, 38],
]
max_lst, i_max, j_max = 0, None, None
min_lst, i_min, j_min = max(sum(lst, [])), None, None
for i, lst_i in enumerate(lst):
for j, v in enumerate(lst_i):
if v == max(lst_i) and v > max_lst:
max_lst, i_max, j_max = v, i, j
if v == min(lst_i) and v < min_lst:
min_lst, i_min, j_min = v, i, j
print(f"Максимальный элемент: {max_lst} с индексами ({i_max}, {j_max})")
print(f"Минимальный элемент: {min_lst} с индексами ({i_min}, {j_min})")
lst[i_min][j_min], lst[i_max][j_max] = lst[i_max][j_max], lst[i_min][j_min]
print("Результирующий список, в котором поменяли местами "
"максимальный и минимальный элементы ")
print(lst)
# Вывод
# Максимальный элемент: 85 с индексами (2, 1)
# Минимальный элемент: 10 с индексами (4, 3)
# Результирующий список, в котором поменяли местами максимальный и минимальный элементы
# [[11, 32, 13, 44, 55], [31, 42, 53, 66, 75], [12, 10, 33, 45, 52], [15, 22, 35, 64, 57], [21, 52, 32, 85, 38]]
Задача: Решение квадратного уравнения
Задача: Тренажер таблицы умножения
Задача: Наибольший числовой палиндром
Задача: Разложение числа на простые множители
Комментариев нет.