DEV Community

HHMathewChan
HHMathewChan

Posted on • Originally published at rebirthwithcode.tech

Python Exercise 8: generate a dictionary from different source

Question

  • Write a Python program to create a new dictionary by extracting the mentioned keys from the below dictionary.
  • **Given
sample_dict = { "name": "Kelly", "age": 25, "salary": 8000, "city": "New york"} # Keys to extract keys = ["name", "salary"] 
Enter fullscreen mode Exit fullscreen mode
  • Expected output:
{'name': 'Kelly', 'salary': 8000} 
Enter fullscreen mode Exit fullscreen mode

My attempt

Decomposition of question

  • initialise an empty dictionary: new_dict
  • iterate over the list named keys
    • for each key in keys
      • check whether the key is appear in the sample_dict
    • if the key is in the sample_dict, add the items in the sample_dict to the new_dict
  • print out the new list
def get_items_from_dict(keys, dictionary): new_dict = {} for key in keys: if key in dictionary: new_dict.update({key: dictionary.get(key)}) print(new_dict) sample_dict = { "name": "Kelly", "age": 25, "salary": 8000, "city": "New york"} # Keys to extract keys = ["name", "salary"] get_items_from_dict(keys, sample_dict) 
Enter fullscreen mode Exit fullscreen mode

Recommend solution

  • use dictionary comprehension
sampleDict = { "name": "Kelly", "age":25, "salary": 8000, "city": "New york" } keys = ["name", "salary"] newDict = {k: sampleDict[k] for k in keys} print(newDict) 
Enter fullscreen mode Exit fullscreen mode

Credit

Top comments (0)