in services/jenkins-autoscaling/lambda_mxnet_ci/autoscaling/handler.py [0:0]
def _merge_dicts_nested_lists(dict1: Dict[Any, List[Any]], dict2: Dict[Any, List[Any]]) -> Dict[Any, List[Any]]:
"""
Merge two dicts that contain lists as values.
:param dict1: Dict1
:param dict2: Dict2
:return: Merged dict
"""
result_dict: Dict[Any, List[Any]] = dict()
# Determine key matches which require list merges
if dict1 and dict2:
matching_keys = set(dict1.keys()).intersection(set(dict2.keys()))
else:
matching_keys = set()
for key in matching_keys:
result_dict[key] = list(dict1[key] + dict2[key])
# Remainders from dict1
if dict1:
for key in set(dict1.keys() - matching_keys):
result_dict[key] = list(dict1[key])
# Remainders from dict2
if dict2:
for key in set(dict2.keys() - matching_keys):
result_dict[key] = list(dict2[key])
return result_dict