simple question on dictionary usage

Edward Kozlowski ekozlowski1 at gmail.com
Sat Oct 27 07:30:43 CEST 2007


On Oct 26, 11:29 pm, Frank Stutzman <stutz... at skywagon.kjsl.com>
wrote:
> My apologies in advance, I'm new to python
>
> Say, I have a dictionary that looks like this:
>
> record={'BAT': '14.4', 'USD': '24', 'DIF': '45', 'OAT': '16',
>         'FF': '3.9', 'C3': '343', 'E4': '1157', 'C1': '339',
>         'E6': '1182', 'RPM': '996', 'C6': '311', 'C5': '300',
>         'C4': '349', 'CLD': '0', 'E5': '1148', 'C2': '329',
>         'MAP': '15', 'OIL': '167', 'HP': '19', 'E1': '1137',
>         'MARK': '', 'E3': '1163', 'TIME': '15:43:54',
>         'E2': '1169'}
>
> From this dictionary I would like to create another dictionary calld
> 'egt') that has all of the keys that start with the letter 'E'.  In
> otherwords it should look like this:
>
> egt = {'E6': '1182','E1': '1137','E4': '1157','E5': '1148',
>        'E2': '1169','E3': '1163'}
>
> This should be pretty easy, but somehow with all my googling I've
> not found a hint.
>
> Thanks in advance
>
> --
> Frank Stutzman

I think this should do the trick.  There's probably something more
concise than this, but I can't think of it at the moment.

egt = {}
for key in record:
    if key.startswith('E'):
        egt[key] = record[key]

print egt
{'E5': '1148', 'E4': '1157', 'E6': '1182', 'E1': '1137', 'E3': '1163',
'E2': '1169'}


-Edward Kozlowski




More information about the Python-list mailing list