순서를 유지하거나 무시하면서 Python 목록에서 중복 사전을 어떻게 제거할 수 있습니까?
Nov 28, 2024 am 12:21 AMPython의 목록에서 중복 사전 제거
사전 목록이 주어지면 목표는 동일한 키를 공유하는 모든 사전을 제거하는 것입니다. 값 쌍. 예를 들어, 목록 [{'a': 123}, {'b': 123}, {'a': 123}]을 [{'a': 123}, {'b': 123}]로 변환하면 이 목표를 달성하세요.
이를 달성하려면 간단하면서도 강력한 기술을 사용할 수 있습니다.
[dict(t) for t in {tuple(d.items()) for d in l}]
이 접근 방식은 세 가지 개별 단계:
- 각 사전을 튜플로 변환합니다. 여기서 튜플은 사전의 키-값 쌍을 저장합니다.
- 튜플 목록을 세트로 변환하여 중복 항목을 효과적으로 제거합니다. 세트는 동일한 값의 여러 인스턴스를 보유할 수 없습니다.
- dict()를 사용하여 튜플에서 사전을 재구성합니다. function.
코드 조각의 변수는 다음을 나타냅니다.
- l: 사전의 원래 목록
- d: 사전 내의 개별 사전 list
- t: 해당 사전의 키-값을 나타내는 튜플 쌍
사전의 원래 순서를 유지하는 것이 중요한 경우 다음과 같이 수정된 접근 방식을 활용할 수 있습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?
