Форум сайта python.su
MapWidth=10 MapHeight=10 MapAfter=[[[0,[0,0,0,0]]]*MapWidth]*MapHeight MapAfter[2][1]=[1,[1,1,1,1]] for y in range(MapHeight): print(MapAfter[y])
Отредактировано DmitrD (Апрель 3, 2025 21:11:04)
Офлайн
> Если кто знает, почему такое происходит, сообщите, пожалуйста.
Не надо создавать списки умножением на число. Так ты создаёшь не новый список, а просто копируешь ссылку на существующий.
Офлайн
DmitrDКакой хитрый об'ект получается! Толи список списка списков, толи чёртишо и сбоку бантик.MapAfter=[[[0,[0,0,0,0]]]*MapWidth]*MapHeight
Отредактировано Alex.Pro. (вчера 13:12:23)
Офлайн