我有一个简单的类:
class revs:
def __init__(self, rev, us, accs = []):
self.rev = rev
self.us = us
self.accs = accs
我有这段代码来为列表分配值,并且它在一个循环内:
rev, usu = cada_l.split("|")
acct = each_l[:2].strip()
list_acct.append(acct)
最后,我创建了一个字典,来管理类似这样的修订版本列表:
drevs = {}
cada = revs(rev, us, list_acct)
drevs[cada.rev] = cada
它与rev和us正确地工作,但与list_acct一起,它会不断更新所有实例:
drevs['1'].rev
'1'
drevs['2'].rev
'2'
drevs['1'].us
'user1'
drevs['2'].us
'user2'
drevs['1'].accs
'["Doc1","Doc2"]'
drevs['2'].accs
'["Doc1","Doc2"]'
如果我使用list_acct.clear()进行清空,所有实例中的值都会被清空。作为Python新手,这让我感到困惑。
谢谢
accs
设为None
,并在__init__
中检查它。 - voithos