Как расширить двумерный массив в 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]]
→ Ссылка