Comment Comment by harlowja U may also want to mention that #5 is pretty much violated in all of these if say a nested dict (or really any other object that is by reference) is in default or user. >>> x = {'a': {}} >>> y = x.copy() >>> y['a']['b'] = 'c' >>> x {'a': {'b': 'c'}} parent harlowja 10 years ago