Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- from pprint import pprint as pp
- def dedup2(items, key=None):
- """ Get unique items but keep the order.
- Works even with non-hashable items.
- """
- seen = set()
- for item in items:
- val = item if key is None else key(item)
- if val not in seen:
- yield item
- seen.add(val)
- logs =\
- [
- { "ip": "1.2.3.4", "server": "reisinge.net", "id0": "2", "uri": "/", "id1": "3" },
- { "ip": "1.2.3.5", "server": "reisinge.net", "id0": "2", "uri": "/", "id1": "3" },
- { "ip": "1.2.3.5", "server": "reisinge.net", "id0": "2", "uri": "/", "id1": "3" },
- ]
- logs2 = list(dedup2( logs, key=lambda d: (d['id0'], d['ip']) ))
- pp(logs2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement