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