Newbie: How to pass a dictionary to a function?

Jason Scheirer jason.scheirer at gmail.com
Tue Apr 8 00:57:47 EDT 2008


On Apr 7, 8:54 pm, BonusOnus <Bonus.O... at gmail.com> wrote:
> How do I pass a dictionary to a function as an argument?
>
> # Say I have a function foo...
> def foo (arg=[]):
> x = arg['name']
> y = arg['len']
>
> s = len (x)
>
> t = s + y
>
> return (s, t)
>
> # The dictionary:
>
> dict = {}
> dict['name'] = 'Joe Shmoe'
> dict['len'] = 44
>
> # I try to pass the dictionary as an argument to a
> # function
>
> len, string = foo (dict)
>
> # This bombs with 'TypeError: unpack non-sequence'
>
> What am I doing wrong with the dictionary?

You want to
return s, t
NOT return (s, t) -- this implicitly only returns ONE item



More information about the Python-list mailing list