Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.50 KB | None | 0 0
  1. >>> from collections import defaultdict
  2. >>>
  3. >>> def union_merge(*observations, key="rev_id"):
  4. ... id_map = defaultdict(dict)
  5. ... for obs in observations:
  6. ... for ob in obs:
  7. ... id_map[ob[key]].update(ob)
  8. ...
  9. ... for ob in id_map.values():
  10. ... yield ob
  11. ...
  12. >>> list(union_merge([{'foo': 1, 'rev_id': 1}], [{'foo': 2, 'rev_id': 1}]))
  13. [{'foo': 2, 'rev_id': 1}]
  14. >>> list(union_merge([{'foo': 1, 'rev_id': 1}], [{'foo': 2, 'rev_id': 1}], [{'foo': 3, 'rev_id': 1}]))
  15. [{'foo': 3, 'rev_id': 1}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement