class Bins:
def __init__(self, id:str, initial_list:list):
self.id_ = id
self.capacities = initial_list
self.remaining_capacities = initial_list
example = Bins("t1",[0,0,1])
example.capacities[1] = 1
print(example.remaining_capacities) # gives [0, 1, 1]
如图所示,这种方法的问题是我不能独立地修改属性。
您可以使用内置的list.copy()
进行深度复制。
def __init__(self, id:str, initial_list:list):
self.id_ = id
self.capacities = initial_list.copy()
self.remaining_capacities = initial_list.copy()