#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)