>> egt = {}
>> for key in record:
>> if key.startswith('E'):
>> egt[key] = record[key]
>
> I actually had come up with something like this, but thought it wasn't
> quite as pythonish as it should be. It is certainly much more readable
> to a neophyte to python.
My recommendation: forget about the comprehension-based ones. It *is*
Pythonic to have the code readable to a neophyte; there is no price to
win for shortness or cuteness.
>> egt = dict((k, v) for k, v in record.iteritems() if k.startswith('E'))
>
> This is what I was looking for. I thought I had seen something simular
> to this in one of the tutorials I had read, but couldn't seem to find it.
And you consider this readable? I find it way too complex.
> Ah! Now this is one solution I can get my teeth into. If its not obvious,
> I'm a recovering perl programmer.
Ok, I now see why you can appreciate the comprehension-based one :-)
Again, much of Python's strength comes from it being readable. Simple
is better than complex, and sparse is better than dense, and readability
counts (import this).
Regards,
Martin
--
http://mail.python.org/mailman/listinfo/python-list