Merge multiple dictionaries, combining values for each key.
(dicts: list, policy: EvaluationPolicy)
| 1191 | |
| 1192 | |
| 1193 | def _merge_dicts_by_key(dicts: list, policy: EvaluationPolicy): |
| 1194 | """Merge multiple dictionaries, combining values for each key.""" |
| 1195 | if len(dicts) == 1: |
| 1196 | return dicts[0] |
| 1197 | |
| 1198 | all_keys = set() |
| 1199 | for d in dicts: |
| 1200 | all_keys.update(d.keys()) |
| 1201 | |
| 1202 | merged = {} |
| 1203 | for key in all_keys: |
| 1204 | values = [d[key] for d in dicts if key in d] |
| 1205 | if values: |
| 1206 | merged[key] = _merge_values(values, policy) |
| 1207 | |
| 1208 | return merged |
| 1209 | |
| 1210 | |
| 1211 | def _merge_values(values, policy: EvaluationPolicy): |
no test coverage detected
searching dependent graphs…