Я хочу скопировать 2D список, так, чтобы, если я изменяю один список, другой, не был изменен.
Для одномерного списка я просто делаю это:
a = [1, 2]
b = a[:]
И теперь если я изменяю b
, a
не изменяется.
Но это не работает на двумерный список:
a = [[1, 2],[3, 4]]
b = a[:]
Если я изменяю b
, a
изменяется также.
Как я фиксирую это?
Для более общего решения, которое работает независимо от количества измерений, используйте copy.deepcopy()
:
import copy
b = copy.deepcopy(a)