我試圖運行一個循環,我一次又一次地使用同一個列表。但是每一次執行都會修改列表。那麼如何在每次運行中將列表分配給相同的變量。給循環中的變量分配一個列表
import random
def fuse(a, row, col):
a[row][col] = -a[row][col]
return a
final_list = [[2,4],[5,6],[3,2],[1,0]]
for k in range(3):
A = final_list[:]
print A
print final_list
for i in range(len(A)-2):
row = random.randint(0,len(A)-1)
col = random.randint(1,len(A[row])-1)
A = fuse(A,row,col)
上述代碼A在每次運行中都會被修改。但是當我將final_list複製到A並打印A和final_list時,它們是不同的。我不明白。我想完全複製A中的final_list。有什麼建議嗎?
看起來像你的'保險絲'功能是錯誤的,如果它修改'A'。 – wRAR 2014-09-23 05:11:42
我必須在每次運行中修改「A」。但每場比賽必須是獨立的。因此,對於新的運行我再次需要相同的列表 – Ankit 2014-09-23 05:13:28
你是什麼意思「我不能爲每次運行分配final_list到A」?這是否意味着你在第三行發生錯誤?或者它沒有達到你的預期?或者說它按照你的預期做了,但是你不能在你真實的代碼中做到這一點? – abarnert 2014-09-23 05:14:00