Как бы я ни любил Python, ссылки и глубокие копии меня иногда бесят.
Почему глубокое копирование здесь не работает:
>>> import copy
>>> a = 2*[2*[0]]
>>> a
[[0, 0], [0, 0]]
>>> b = copy.deepcopy(a)
>>> b[0][0] = 1
>>> b
[[1, 0], [1, 0]] #should be: [[1, 0], [0, 1]]
>>>
Я использую массив numpy как обходной путь, который мне все равно понадобится позже. Но я действительно надеялся, что, если бы я использовал Deepcopy, мне больше не пришлось бы гоняться за непреднамеренными ссылками. Есть ли еще ловушки, где это не работает?