Two variable dictionary comprehension

Deborah Swanson python at deborahswanson.net
Mon Apr 3 13:27:33 EDT 2017


Dennis Lee Bieber wrote, on April 03, 2017 9:35 AM
> 
> On Mon, 3 Apr 2017 07:30:40 -0700, "Deborah Swanson" 
> <python at deborahswanson.net> declaimed the following:
> 
> >
> >Clearly there's more to be found in nooks, crannies and 
> byways in the 
> >docs than you'll get to from the given pointers in the 
> index. Maybe it 
> >would be worthwhile to scrape the whole mess and have it in 
> searchable 
> >text form. Another thing Python would be the right tool for the job 
> >for. Regular updates as the docs are updated would be a good 
> idea too. 
> >It's obvious that today's Google isn't up to it, although it 
> occurs to 
> >me that I haven't tried Google's site search on python.org.
> >
> 	On Windows, the (at least, for ActiveState releases) 
> documentation is available in Windows Help format -- though 
> I'll admit the "free text search" leaves a lot to be desired...
> 
> 	"dict comprehension" didn't find anything obvious; 
> "dictionary comprehension" brought up PEP 274 (note: I still 
> use 2.7 as main version).
> 
> -=-=-=-=-=-
> Semantics
>     The semantics of dict comprehensions can actually be demonstrated
>     in stock Python 2.2, by passing a list comprehension to the
>     builtin dictionary constructor:
> 
>     >>> dict([(i, chr(65+i)) for i in range(4)])
> 
>     is semantically equivalent to
> 
>     >>> {i : chr(65+i) for i in range(4)}
> 
>     The dictionary constructor approach has two dictinct disadvantages
>     from the proposed syntax though.  First, it isn't as legible as a
>     dict comprehension.  Second, it forces the programmer to create an
>     in-core list object first, which could be expensive.
> 
> -=-=-=-=-=-
> -- 
> 	Wulfraed                 Dennis Lee Bieber         AF6VN
>     wlfraed at ix.netcom.com    HTTP://wlfraed.home.netcom.com/

It would be interesting to play around with different list
comprehensions than the one they've shown.

I'll admit that both dictionaries and comprehensions are still a little
bit fuzzy to me, especially when I get away from the common usages. This
could be a good exercise to clarify some of the fuzzy areas.

Deborah




More information about the Python-list mailing list