Want to reduce steps of an operation with dictionaries

pretoriano_2001 at hotmail.com pretoriano_2001 at hotmail.com
Wed Oct 25 02:29:39 CEST 2006

I have next dictionaries:
a={'a':0, 'b':1, 'c':2, 'd':3}
b={'a':0, 'c':1, 'd':2, 'e':3}
I want to put in a new dictionary named c all the keys that are in b
and re-sequence the values. The result I want is:
c={'a':0, 'c':1, 'd':2}
How can I do this with one line of instruction?

I attempted the next but the output is not the expected:
c=dict([(k,v) for v,k in enumerate(a) if b.has_key(k)])
erroneously (for me) gets:
{'a': 0, 'c': 2, 'd': 3}

Thanks for your help.

More information about the Python-list mailing list