问题
I want to copy a 2D list, so that if I modify one list, the other is not modified.
For a one-dimensional list, I just do this:
a = [1, 2]
b = a[:]
And now if I modify b, a is not modified.
But this doesn\'t work for a two-dimensional list:
a = [[1, 2],[3, 4]]
b = a[:]
If I modify b, a gets modified as well.
How do I fix this?
回答1:
For a more general solution that works regardless of the number of dimensions, use copy.deepcopy():
import copy
b = copy.deepcopy(a)
回答2:
b = [x[:] for x in a]
回答3:
you can also use this code without importing copy package
b=a.copy()
来源:https://stackoverflow.com/questions/2541865/copying-nested-lists-in-python