所以我有這個項目,我正在做的學校,在它我們需要改變名單董事會名單。我們還必須以順序的形式返回我們所做的更改。我defind「板」的元組和組的列表,並提出,在「董事會」修改一組特定的功能,然後我又功能,看起來像這樣:如何在python中保留一個相同的變量,即使它引用的值是變化?
def function (board,pos):
#pos is a tuple (x,y)
begin_open_positions = board[2]
disclose_help(board,pos)
#this function changes the board
end_open_positions = board[2]
added_pos = begin_open_positions-end_open_positions
return added_pos
#board at the start = [(4, 4), [(0, 0)], set(), ((0, 0), (0, 1), (0, 1))]
#board at the end =[(4, 4), [(0, 0)], {(1, 2), ... ,(1, 1)}, ((0, 0),...)]
的問題是爲什麼我begin_open_position改變,我如何使它不會改變,並保持(在這種情況下)set()。
的披露幫助功能,只是增加了位置登[2]
編輯:我試圖用copy.copy(X)沒有工作
'begin_open_positions'和'end_open_positions'只是'board [0]'處對象的替代名稱。請參閱[其他語言有「變量」,Python有「名稱」](http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#other-languages-have-variables) –