fork download
  1. import copy
  2.  
  3.  
  4. class P:
  5. def __init__(self, name):
  6. self.name = name
  7.  
  8. def __repr__(self):
  9. return f'{self.name}'
  10.  
  11.  
  12. obj = P('orig')
  13. lst = [obj, obj]
  14.  
  15. v = 5
  16. for n in range(1, v):
  17. new = copy.deepcopy(obj)
  18. new.name = n
  19. lst.append(new)
  20.  
  21. lst.extend(copy.deepcopy(obj) for _ in range(v))
  22.  
  23. print(lst)
  24.  
  25. obj.name = 'new'
  26.  
  27. print(lst)
  28.  
Success #stdin #stdout 0.03s 9248KB
stdin
Standard input is empty
stdout
[orig, orig, 1, 2, 3, 4, orig, orig, orig, orig, orig]
[new, new, 1, 2, 3, 4, orig, orig, orig, orig, orig]