在列表Python中替换对象中的属性

2024-06-26 11:30:36 发布

您现在位置:Python中文网/ 问答频道 /正文

如何更新对象中的属性,并且对象在列表中

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中更新他?在


Tags: 对象self列表属性initdefnomb2
1条回答
网友
1楼 · 发布于 2024-06-26 11:30:36

嗯……我不知道我是否明白你的问题。你的意思是你想更新objectk中的元素p1,而maliste中的这个k也是更新的?在

我想推荐一种写作方法:

@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中删除并再次将更新后的对象插入maliste列表。而且,不需要新列表列表。在

相关问题 更多 >