Python의 목록에서 중복 사전 제거
사전 목록이 주어지면 목표는 동일한 키를 공유하는 모든 사전을 제거하는 것입니다. 값 쌍. 예를 들어, 목록 [{'a': 123}, {'b': 123}, {'a': 123}]을 [{'a': 123}, {'b': 123}]로 변환하면 이 목표를 달성하세요.
이를 달성하려면 간단하면서도 강력한 기술을 사용할 수 있습니다.
[dict(t) for t in {tuple(d.items()) for d in l}]
이 접근 방식은 세 가지 개별 단계:
코드 조각의 변수는 다음을 나타냅니다.
사전의 원래 순서를 유지하는 것이 중요한 경우 다음과 같이 수정된 접근 방식을 활용할 수 있습니다.
seen = set() new_l = [] for d in l: t = tuple(d.items()) if t not in seen: seen.add(t) new_l.append(d)
이 코드에는 보이는 세트를 유지하는 추가 단계가 포함되어 있습니다. 어떤 튜플(및 사전)이 이미 발견되었는지 추적합니다. 보이는 집합에서 튜플이 발견되지 않으면 집합에 추가되고, 해당 사전은 new_l 목록에 추가됩니다.
동등성(==)을 사용하여 사전을 직접 비교한다는 점에 유의하는 것이 중요합니다. 사전이 다른 방식으로 수정된 경우 항상 원하는 결과를 얻지 못할 수도 있습니다. 키-값 쌍의 순서가 중요한 경우 튜플을 생성하기 전에 사전의 항목을 정렬하는 것이 좋습니다.
위 내용은 순서를 유지하거나 무시하면서 Python 목록에서 중복 사전을 어떻게 제거할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!