main_list = [“projecttype”, “emptype”, “Designation”]
main_list is to check the key exist in the dictionary or not
Primary Dict
sample_P = { "query": { "emptype": ["Manager", "AM"], "Designation": ["Developer"], "from": ["0"], "q": [""], "size": ["4"] } }
Secondary Dict
sample_S = { "query": { "emptype": ["Manager"], "Designation": ["Developer"], "from": ["0"], "q": [""], "size": ["4"] } }
“emptype” key has changed in the secondary, if any change in the key it will goes to last
{"Designation":["Developer"], "emptype":["Manager"] }
Basically I need to check key’s in the both dictionaries if any changes in the dictionary key then it will goes to last
Code is below
current_dict = {} for key, items in sample_P["query"].items(): if key in main_list: for key, items in sample_S["query"].items(): #if values changes for the key #create a new dictionary and add to last part of dict
You can iterate over the list of key if that is smaller and access the value of key using get. I have stored the changes result to a new dictionary.
current_dict = {} changed_dict = {} for item in main_list: if sample_P.get("query").get(item) and sample_S.get("query").get(item): if sample_P.get("query").get(item) != sample_S.get("query").get(item): changed_dict[item] = sample_S.get("query").get(item) else: current_dict[item] = sample_S.get("query").get(item) else: print("key {} not found ".format(item)) current_dict.update(changed_dict)
Recent Comments