Beginning Question about Python functions, parameters...
Stephen Hansen
apt.shansen at gmail.com
Mon Nov 23 14:40:52 EST 2009
On Mon, Nov 23, 2009 at 11:14 AM, astral orange <457r0.jp at gmail.com> wrote:
> But back to the example, on line 104 I see there's a call to the
> lookup function, passing 3
> parameters ('data', which I think is a nested dictionary, label
> (first, middle, last) and name).
>
> But I am getting lost on line 111 after the parameters are passed in
> to the lookup function. I'm
> not exactly sure what it's returning
The 'get' method of dictionaries returns either the value if it exists, or
None.
So lookup is returning either a the value from that nested dictionary (the
value which will be a list of names), or None.
> and when it does return, is this
> assigned the the variable
> 'people'?
Yes.
> And if so, I'm not sure what 'append(full_name)' does here.
> The else statement which assigns
> '[full_name]' to 'data[label][name]' is somewhat confusing as I'm
> saying to myself where the heck did
> '[full_name]' come "into the picture".
>
>
Look up at line 97.
The "purpose" of this code seems-- on a cursory glance-- to be to categorize
peoples names into lists where their names are common.
The data dictionary contains three dictionaries; one for first names, one
for middle names, one for last names.
Each dictionary would, over time, contain the name-part as a key and then a
list of full names...
So, I'd be:
data['first']['Stephen'] = ['Stephen Hansen']
data['last']['Hansen'] = ['Stephen Hansen']
Then if Bob Hansen was run through the code, it'd end up as:
data['last']['Hansen'] = ['Stephen Hansen', 'Bob Hansen']
At least I think that's what the code is doing. Based upon just a stare. :)
(And if that's what its doing, I think it has a bug as I mentioned in a
previous email; I think lines 105-108 need to be indented one level more)
So, what all this code is doing is breaking apart someoen's full_name which
was passed into the function originally, and seeing where to put it. That's
what the for loop and lookup function calls are doing... seeing if we need a
new list , or if there's an existing one to add the name to... When it
decides where it goes, it puts the full_name in.
--S
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20091123/100f8f04/attachment-0001.html>
More information about the Python-list
mailing list