x = [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
b = x[:]
b[1].append(99)
print(x[1])
x[1]=[1, 2, 3, 99]
使用內置的 .copy() 方法b=x.copy()是一樣的,x[1]=[1, 2, 3, 99]
也b = list(x)一樣,x[1]=[1, 2, 3, 99]
b=[i for i in x]也一樣,x[1]=[1, 2, 3, 99]
只有import copy并且b=copy.deepcopy(x)是
x[1]=[1, 2, 3]
有沒有辦法在[1, 2, 3]不匯入 deepcopy() 的情況下制作 x[1]= ?
uj5u.com熱心網友回復:
你也必須復制里面的串列:
x = [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
b = [v.copy() for v in x]
b[1].append(99)
print(x[1])
print(b[1])
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/515895.html
