newbie: copying dictionaries

Jon J. Morin rotundo52 at
Wed Jun 12 00:36:28 EDT 2002

Hi.  I'm a newbie to python and have a question about copying dictionary 
objects.  I'm working out of Learning Python by Mark Lutz & David Ascher 
(O'Reilly).  The following bit of code was an exercise in the book and it 
works, but what I'm asking is why?  I see where the dictionary keys get 
copied from one object to the other, but how do the values get copied over 
as well?

# - copy a dictionary argument and return it

def copyDict(aDict):
    newDict = {}
    for key in aDict.keys():
        newDict[key] = aDict[key]
    return newDict

D = {'jon':1, 'allison':2, 'zachary':3}
print copyDict(D)

[jmorin at cisx1 python]$ ./
{'zachary': 3, 'jon': 1, 'allison': 2}

Any help with this is appreciated.  Thanks.

Jon J. Morin

More information about the Python-list mailing list