Beginning Question about Python functions, parameters...

astral orange at
Mon Nov 23 18:19:03 CET 2009

Hi, I am trying to teach myself Python and have a good book to help me
but I am stuck on something and I would like for someone to explain
the following piece of code for me and what it's actually doing.
Certain parts are very clear but once it enters the "def store(data,
full_name): ...." function and the "def lookup()..." function things
get a little confusing for me. Specifically, lines 103-108 *and* Lines

Lastly, I am not sure how to print the results I've put into this
program either, the book I'm reading doesn't tell me. As you can tell,
I am a beginner and I don't truly understand everything that is going
on here...a lot, but not all....

Here is the code:

 92 def init(data):
 93     data['first'] = {}
 94     data['middle'] = {}
 95     data['last'] = {}
 97 def store(data, full_name):
 98     names = full_name.split()
100     if len(names) == 2: names.insert(1, '')
101     labels = 'first', 'middle', 'last'
103     for label, name in zip(labels, names):
104         people = lookup(data, label, name)
105     if people:
106         people.append(full_name)
107     else:
108         data[label][name] = [full_name]
110 def lookup(data, label, name):
111     return data[label].get(name)
114 MyNames = {}
115 init(MyNames)
116 store(MyNames, 'John Larry Smith')
117 lookup(MyNames, 'middle', 'Smith')

More information about the Python-list mailing list