[Tutor] Would like some help

luke rabidpoobear at gmail.com
Mon Aug 15 17:27:32 CEST 2005


Howard,
I believe what's happening in the second example is that you can combine
dictionaries.
...
>>>d2 = {'hello':1,'hi':2}
>>>print d2.items()
[('hi',2),('hello',1)]

so in the second example you can just pass it a list of elements (.items())
and it will concatenate (append?) these to the new dictionary.
hope that helps.

Luke


----- Original Message -----
From: "Howard Kao" <fatearthling at gmail.com>
To: <tutor at python.org>
Sent: Monday, August 15, 2005 6:32 AM
Subject: [Tutor] Would like some help


> ----Directly Quoted From the Python Cookbook----
> 1.3 Constructing a Dictionary Without Excessive Quoting
> Credit: Brent Burley
>
> 1.3.1 Problem
> You'd like to construct a dictionary without having to quote the keys.
>
> 1.3.2 Solution
> Once you get into the swing of Python, you may find yourself
> constructing a lot of dictionaries. However, the standard way, also
> known as a dictionary display, is just a smidgeon more cluttered than
> you might like, due to the need to quote the keys. For example:
>
> data = { 'red' : 1, 'green' : 2, 'blue' : 3 }
> When the keys are identifiers, there's a cleaner way:
>
> def makedict(**kwargs):
>     return kwargs
> data = makedict(red=1, green=2, blue=3)
> You might also choose to forego some simplicity to gain more power.
> For example:
>
> def dodict(*args, **kwds):
>     d = {}
>     for k, v in args: d[k] = v
>     d.update(kwds)
>     return d
> tada = dodict(*data.items(  ), yellow=2, green=4)
> ----End Quote----
>
> Hi guys,
> Above is a direct cut & paste from the book (hope I am not violating
> any thing...).  I've read the Python docs and can understand the first
> def example ok, I suppose.  However I would like some detailed
> explaination about the second example, the dodict one.  How exactly
> does it work?  It just puzzles me why this would be more powerful or
> better, even though I can understand and agree that re-writting
> programs makes good practice.  In fact that's what I am looking for
> from reading this book.  Just hope someone can walk me through this
> simple code.  Thanks for the help.
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor



More information about the Tutor mailing list