import argparse
import copy
a = argparse.Namespace(x=[1])
b = argparse.Namespace(**vars(a))
c = argparse.Namespace(**{k: copy.deepcopy(v) for k, v in vars(a).items()})
# b is wrong
b.x.append(2)
print(a.x)
# c makes deepcopy
a.x.append(3)
print(c.x) # should only print out [1]
aW1wb3J0IGFyZ3BhcnNlCmltcG9ydCBjb3B5CgphID0gYXJncGFyc2UuTmFtZXNwYWNlKHg9WzFdKQpiID0gYXJncGFyc2UuTmFtZXNwYWNlKCoqdmFycyhhKSkKYyA9IGFyZ3BhcnNlLk5hbWVzcGFjZSgqKntrOiBjb3B5LmRlZXBjb3B5KHYpIGZvciBrLCB2IGluIHZhcnMoYSkuaXRlbXMoKX0pCgojIGIgaXMgd3JvbmcKYi54LmFwcGVuZCgyKQpwcmludChhLngpCgojIGMgbWFrZXMgZGVlcGNvcHkKYS54LmFwcGVuZCgzKQpwcmludChjLngpICAjIHNob3VsZCBvbmx5IHByaW50IG91dCBbMV0=