Итак, я пытаюсь создать вложенный список на основе Python по ширине и высоте. Это то, что я имею до сих пор:
width = 4
height = 5
row = [None]*width
map = [row]*height
Теперь это, очевидно, не совсем верно. При печати это выглядит хорошо:
[[None, None, None, None],
[None, None, None, None],
[None, None, None, None],
[None, None, None, None],
[None, None, None, None]]
Но при попытке присвоить значение позиции следующим образом:
map[2][3] = 'foo'
Я получаю:
[[None, None, None, 'foo'],
[None, None, None, 'foo'],
[None, None, None, 'foo'],
[None, None, None, 'foo'],
[None, None, None, 'foo']]
Ясно, что это происходит потому, что каждый подсписок действительно просто ссылается на один и тот же объект, строку, поэтому его изменение, меняет их всех. Так что это самое близкое, что у меня есть!
Как я могу динамически генерировать вложенный список? Спасибо!