https://www.runoob.com/w3cnote/python-variable-references-and-copies.html
https://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html