[ Python] 한 리스트 안에 있는 중복 dict 제거하기

2019. 10. 21. 23:51분석 Python/구현 및 자료

도움이 되셨다면, 광고 한번만 눌러주세요.  블로그 관리에 큰 힘이 됩니다 ^^

import json

def remove_dupe_dicts(l):
  list_of_strings = [json.dumps(d, sort_keys=True) for d in l ]
  list_of_strings = set(list_of_strings)
  return [json.loads(s)for s in list_of_strings]

def remove_dupe_dicts(l):
  return [dict(t) for t in {tuple(d.items()) for d in l}]

 

data = [
  {"id": 1, "sub": {"id": 1}},
  {"id": 1, "sub": {"id": 2}},
  {"id": 4},
  {"id": 1, "sub": {"id": 1}}
]
print(remove_dupe_dicts(data))
"""
[
  {'id': 1, 'sub': {'id': 1}},
  {'id': 4},
  {'id': 1, 'sub': {'id': 2}}
]
"""
728x90