Как добавить элементы в матрицу?

#python #arrays #python-3.x #list

#python #массивы #python-3.x #Список

Вопрос:

я на самом деле изучаю Python и хочу создать матрицу (4×5) и заменить координатами. Вот код матрицы:

 grid = [[" " for i in range(4)] for j in range(5)]

for k in grid:
    print(k)
   0    1    2    3
0[' ', ' ', ' ', ' ']
1[' ', ' ', ' ', ' ']
2[' ', ' ', ' ', ' ']
3[' ', ' ', ' ', ' ']
4[' ', ' ', ' ', ' ']
  

Например: я хочу поместить «-» в (0,1) и (1,1). Это должно выглядеть так:

    0    1    2    3
0[' ', ' ', ' ', ' ']
1['-', '-', ' ', ' ']
2[' ', ' ', ' ', ' ']
3[' ', ' ', ' ', ' ']
4[' ', ' ', ' ', ' ']
  

Я действительно стараюсь, но я понятия не имею, как добавить элемент и сохранить его в матрице :/

Спасибо, я надеюсь, что они смогут понять мой вопрос.

Комментарии:

1. Не могли бы вы решить проблему, если бы это был просто список, скажем, у вас был [' ', ' ', ' ', ' '] , и вы хотели его изменить [' ', '-', ' ', ' '] ?

2. Чтобы программы были правильными, вы должны быть точными в своем мышлении; это помогает быть точным в вашем языке. Ясно, например, что вы не хотите «добавлять» элементы в матрицу, потому что матрица должна быть одинакового размера до и после. Вместо этого вы хотите их заменить .

Ответ №1:

Матрица — это просто список списков. Вы можете обновить координату, используя индексы списка.

Попробуйте этот код:

 grid = [[" " for i in range(4)] for j in range(5)]

for k in grid:
    print(k)

print()

grid[1][0] = '-'
grid[1][1] = '-'

for k in grid:
    print(k)
  

Выходной сигнал

 [' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ']

[' ', ' ', ' ', ' ']
['-', '-', ' ', ' ']
[' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ']
  

Ответ №2:

 
def insert(grid,
           what  = None,
           coord = None):
    
    r,c = coord
    grid[r][c] = what
    

grid = [[" " for i in range(4)] for j in range(5)]
insert(grid, what = "-", coord = (1,1))

for k in grid:
    print(k)