2013-03-02 57 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功能中柱沒有被刪除。 你能澄清我做錯了什麼嗎? 謝謝。

回答