2013-03-02 58 views
0

我是新来的Python,我想用一个函数来添加元素到一个对象拥有列表。 这里是我的代码的简化版本:python - 函数内的列表赋值

class TElement: 
    vec = [] 

class GTop: 

    ElList = [] 

    def AddElement(self, vect): 
     NewEl = TElement() 
     for i in range(len(vect)): 
      NewEl.vec.append(vect[i]) 

     self.ElList.append(NewEl) 


myvec1 = ["a",1,2,"b"] 
myvec2 = ["a","c",2,"b"] 

Mytop = GTop() 

Mytop.AddElement(myvec1) 

Mytop.AddElement(myvec2) 

与上面的代码我得到:

Mytop.ElList [0] .vec = [ '一个',1,2, 'B']

Mytop.ElList [1] .vec = [ '一个',1,2, 'b', 'A', 'C',2, 'b']

虽然我想:

Mytop.ElList [0] .vec = ['a',1,2,'b']

Mytop.ElList [1] .vec = [ '一个', 'C',2, 'B']

出于某种原因,当我退出的addElement功能中柱没有被删除。 你能澄清我做错了什么吗? 谢谢。

回答