替换列表中对象中的属性--Python
如何更新对象中的属性,并且该对象位于列表中替换列表中对象中的属性--Python,python,list,Python,List,如何更新对象中的属性,并且该对象位于列表中 class kas: nom ="a" p1="" p2="" def __init__(self,nom,p1,p2): self.nom = nom self.p1=p1 self.p2=p2 @staticmethod def acoter(nom,b1,b2,maliste): newlist=list() for
class kas:
nom ="a"
p1=""
p2=""
def __init__(self,nom,p1,p2):
self.nom = nom
self.p1=p1
self.p2=p2
@staticmethod
def acoter(nom,b1,b2,maliste):
newlist=list()
for i,k in maliste:
if nom==k.nom:
maliste.remove(i)
k.p1[0]=b1[0]
k.p2[0]=b2[0]
maliste.insert(i, k)
我如何更新对象k中的元素p1和maliste中的元素p1?嗯……我不知道我是否明白你的问题。您的意思是要更新对象k中的元素p1,而maliste中的这个k也是更新的吗 我建议重新编写acoter方法,如下所示:
@staticmethod
def acoter(nom, b1, b2, maliste):
for i, k in enumerate(maliste):
if kas.nom == k.nom:
k.p1[0] = kas.b1[0]
k.p2[0] = kas.b2[0]
因为maliste是list()
,您只需将对象k
附加到列表中,所以我怀疑maliste:中I,k的会抛出错误
要更新列表中对象的属性,只需获取对象的引用并更新其属性即可。所以我认为您不需要从maliste中删除并再次将此更新的对象插入maliste列表。另外,newlist列表是不需要的。你能告诉我maliste
参数应该是什么类型吗?在maliste中,k是kas对象的意思吗?我只是一个索引吗?我想知道maliste
maliste=list()的内容是什么,我把它放在了maliste.append(k)中