gpt4 book ai didi

Python 字典和类中的列表更新和追加

转载 作者:行者123 更新时间:2023-12-01 05:01:30 33 4
gpt4 key购买 nike

我遇到了这个非常烦人的问题,并且不知道为什么会发生。我有这门课:

class Person:
my_dict = {}
my_list = []
... other attributes

...


def add_dic(self, key, val):
self.my_dict.update({key: val})

def add_to_list(self, i):
self.my_list.append(i)

当我创建这个时:

person1 = Person('name1')
person2 = Person('name2')

person1.add_dic(1,2)
person2.add_dic(3,4)

print person1.my_dict

#{1:2, 3:4} when to me it should be {1:2}

为什么 person1 会随着 person2 的更新而更新?影响 person2 的 person1 中的更新也会出现同样的问题。附加列表时出现同样的问题。

如何解决这个问题以单独获取更新?也许有一个Python概念我不太清楚。

什么解决方案可以在类内部追加或更新?不创建时间变量,然后更新该变量并写入字典或列表。

最佳答案

您创建了类变量而不是实例变量。检查这个:Instance vs Class Variables

关于Python 字典和类中的列表更新和追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26028897/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com