作者gozule (好冷啊~~)
站内Python
标题Re: [问题] 新手发问List资料复制
时间Wed Sep 19 02:41:38 2012
※ 引述《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
1F:推 mjchen:谢谢G大!!! 09/19 03:21
2F:推 shaopin:请问l=list[:]和copy.copy是用reference还是做新的? 09/19 09:29
3F:→ gozule:这两种方式是都用新的,用id(obj)看很清楚 09/19 10:18