I've run into that "sticky variables" problem again: >>> code = {".":[],"c":["crate"]} >>> a = code["."] >>> b = code["."] >>> a ==b True >>> a is b True One solution is: >>> import copy >>> a = copy.copy(code["."]) >>> b = copy.copy(code["."]) >>> a == b True >>> a is b FalseBut is there a better way to make it clear I want the value, not an actual reference?