Как заполнить диагональ в двумерном массиве на Python? 🎯
Для заполнения диагонали в двумерном массиве в Python можно использовать следующий код:
arr = [[0] * n for _ in range(n)] # Создаем двумерный массив размером n x n, заполненный нулями
for i in range(n):
arr[i][i] = value # Заполняем элементы на главной диагонали значением value
Где:
n
- размерность массиваvalue
- значение, которым мы хотим заполнить диагональ
Детальный ответ
Как заполнить диагональ в двумерном массиве в Python?
При работе с двумерными массивами в Python, мы иногда сталкиваемся с задачей заполнения диагонали определенным значением. В этой статье я расскажу вам о нескольких способах, которые вы можете использовать для заполнения диагонали в двумерном массиве с примерами кода.
Способ 1: Использование цикла
def fill_diagonal(matrix, value):
for i in range(len(matrix)):
matrix[i][i] = value
# Пример использования функции
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
fill_diagonal(matrix, 0)
print(matrix)
В этом примере мы определяем функцию fill_diagonal
, которая принимает двумерный массив и значение. Затем мы используем цикл for
для прохода по диагонали массива и устанавливаем каждый элемент равным заданному значению.
Способ 2: Использование numpy
Если вы работаете с большими двумерными массивами, то может быть удобно использовать библиотеку numpy. Вот как можно заполнить диагональ в двумерном массиве с использованием numpy:
import numpy as np
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
np.fill_diagonal(matrix, 0)
print(matrix)
В этом примере мы создаем двумерный массив с помощью функции np.array
. Затем мы используем функцию np.fill_diagonal
для заполнения диагонали значениями нуля.
Способ 3: Использование генератора списков
Еще один способ заполнить диагональ в двумерном массиве - это использовать генератор списков. Вот пример кода:
size = 3
value = 0
matrix = [[value if i == j else element for j, element in enumerate(row)] for i, row in enumerate([[1, 2, 3], [4, 5, 6], [7, 8, 9]])]
print(matrix)
В этом примере мы используем генератор списков для создания нового двумерного массива. Мы проверяем каждый элемент на главной диагонали с помощью условной конструкции if i == j
. Если элемент находится на главной диагонали, мы присваиваем ему значение value
, в противном случае используем исходное значение элемента.
Это третий способ, который вы можете использовать для заполнения диагонали в двумерном массиве в Python.
В этой статье мы рассмотрели несколько способов заполнения диагонали в двумерном массиве с использованием цикла, библиотеки numpy и генератора списков. Прежде чем использовать любой из этих способов, убедитесь, что вы понимаете, как они работают, и выберите тот, который лучше всего подходит для вашей конкретной задачи.