Search code examples
pythondictionarykey-valueenumerate

Q: How get two value in two dictionary with same keys in python


i'm trying my code. I'm confused..How to combine these 2 dictionaries so that the value of the results is like this?

1 A 18
5 B 14
3 C 15
7 D 20

for code

d= {'A': 1, 'B': 5, 'C': 3, 'D': 7}
e= {'A': 18, 'B': 14, 'C': 15, 'D': 20}
for k,v in d.items():
    print (v)
for i,(k, v) in enumerate(e.items()):
    print(i,k, v)

i don't understand. Please help me. Thanks!


Solution

  • You can do this:

    d = {'A': 1, 'B': 5, 'C': 3, 'D': 7}
    e = {'A': 18, 'B': 14, 'C': 15, 'D': 20}
    
    for k in sorted(d.keys() & e.keys()):
        print(d[k], k, e[k])
    

    The & ensures that we only use the keys present in both d and e.

    Note that we need the sorted call to ensure that the dicts are indexed alphabetically in the situation where the dict keys aren't alphabetically inserted in the first place.