[Python-Dev] dict comps (original) (raw)
Tim Peters tim.one@home.com
Fri, 26 Oct 2001 01:34:16 -0400
- Previous message: [Python-Dev] dict comps
- Next message: [Python-Dev] dict comps
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Jeremy Hylton]
We agreed yesterday that the dictionary() constructor would accept a a list of two-tuples (strictly speaking an iterable object of iterable objects of length 2).
FYI, this is checked in now.
That plus list comprehensions pretty much covers the territory of dict comprehensions:
>>> print dictionary([(i, chr(65 + i)) for i in range(4)]) {0: 'A', 1: 'B', 2: 'C', 3: 'D'}
Wow -- that's exactly what it prints. You got your own time machine now?
While it covers the semantics, the pragmatics may be off, since listcomps produce genuine lists, and so e.g.
dictionary([(key, f(key)) for key in file('huge')])
may require constructing an unboundedly large list of twoples before dictionary() sees the first pair. dictionary() per se doesn't require materializing a giant list in one gulp.
- Previous message: [Python-Dev] dict comps
- Next message: [Python-Dev] dict comps
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]