看板 Python 關於我們 聯絡資訊
※ 引述《mjchen ( )》之銘言: : 各位老手大家好,我有一個不知道該如何問起的問題 : 手邊有一個List如下 : list = [1, 2, 3, 4, 5] : 之後會對這個List的資料做變更,但是又希望能保留過去完整的資料 : 如果這樣寫 : list = [1, 2, 3, 4, 5] : newList = list : newList.pop() : print list : print newList : 兩者都會得到 [1, 2, 3, 4] : 目前硬試的方式是 : newList = list*1 : 才會得到 : list = [1, 2, 3, 4, 5] : newList = [1, 2, 3, 4] : 使用python是因為繪圖軟體開始支援python的語法(過去是用VB) : 對資料的暫存和讀取一直鬼打牆 = = : 所以上來尋求各位幫忙,謝謝!! : ------------------------------------------------------- : 數位迪化建築展 : 2010 URS_127 facade : http://issuu.com/mjchen/docs/urs127_facade_cht 如果只是簡單的list copy的話,使用 newList = list[:] 或是 import copy newList = copy.copy(list)均可。 如果是nested list時,必須使用copy.deepcopy才能完整複製list. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 27.51.130.84
mjchen:謝謝G大!!! 09/19 03:21
shaopin:請問l=list[:]和copy.copy是用reference還是做新的? 09/19 09:29
gozule:這兩種方式是都用新的,用id(obj)看很清楚 09/19 10:18