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功能中柱没有被删除。 你能澄清我做错了什么吗? 谢谢。