Как расширить двумерный массив в python
Я делаю игру с бесконечным миром. У меня есть двумерный массив pos_block[x][y]. Каждая ячейка массива соответствует координате в мире. Так как изначально я не могу создать массив нужного размера я хочу его расширять. Как это сделать? Создаю массив с помощью pos_blocks=[[0 for a in range(-501,501)] for b in range(-801,801)] и хочу его увеличивать.
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Да так то нет ничего проще, если немного подумать:
pos_blocks=[[0 for a in range(-1,1)] for b in range(-2,2)]
print(pos_blocks)
# добавляем ещё один список в конец основного списка
pos_blocks.append([0]*2)
print(pos_blocks)
# добавляем по одному элементу в каждый список внутри основного списка
for l in pos_blocks:
l.append(0)
print(pos_blocks)
Исходный список списков:
[[0, 0], [0, 0], [0, 0], [0, 0]]
После добавления в него нового списка:
[[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]
После добавления элемента в каждый вложенный список:
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]