我有點新來python,無法弄清楚爲什麼我的變量GTRed被覆蓋在指定的地方。就我的理解而言,GTRed在這一點上應該保持不變。 我知道我可以通過使用'for x,y in xygrid:'來減少嵌套for循環的次數,但是這不應該影響這個。爲什麼我的變量在嵌套for循環python中被覆蓋?
非常感謝您的幫助。
親切的問候
GTN = 0
GTRed = [[0 for j in range(5)] for i in range(4)]
GTYH = [[0 for j in range(5)] for i in range(4)]
for jred in range(4):
for ired in range(3):
GTRed = [[0 for j in range(5)] for i in range(4)]
GTRed[ired][jred]=11
GTRed[ired+1][jred]=1
GTRed[ired][jred+1]=1
GTRed[ired+1][jred+1]=1
for jyh in range(4):
for iyh in range(2):
GTYH = GTRed
if GTYH[iyh][jyh]==0 and GTYH[iyh+1][jyh]==0:
print GTRed
GTYH[iyh][jyh]=22
# The above line seems to somehow affect GTRed
print GTRed
GTYH[iyh+1][jyh]=2
GameTable[GTN] = GTYH
GTN = GTN + 1
的新實例'GTRed'是列表的列表。簡單的'GTRed'會創建一箇舊列表的新列表。 – eumiro
我的壞..應該已經正確地讀取了代碼 –