我有一个Python类,其中包含以下__init__
方法:
class MyClass(ParentClass):
def __init__(self, **kwargs):
my_list = OrderedDict[
(1, 'abc'),
(2, 'def'),
(3, 'ghi'),
]
我想用这样的函数改变my_list:
def process_my_list(self):
new_list = self.my_list.__class__()
for index, item in self.my_list.items():
# process index or item
new_list[index] = new_item
self.my_list.clear()
self.my_list.update(new_list)
我想实现这个以更改表单的步骤列表。但是,在动态形式的情况下,每个步骤都是单独的实例,因此每个步骤都会调用__init__
。因此,my_list始终返回其先前的状态。
如何更新此列表而不进行恢复?到目前为止,我已经尝试过:
请帮忙。
答案 0 :(得分:1)
如果您希望将my_list
作为类属性:
class MyClass(ParentClass):
my_list = OrderedDict([
(1, 'abc'),
(2, 'def'),
(3, 'ghi')
])
def __init__(self, **kwargs):
pass
@classmethod
def process_my_list(cls):
new_list = OrderedDict()
for index, item in cls.my_list.items():
# process index or item
new_list[index] = new_item
cls.my_list = new_list