파이썬 프로그래밍에서 중첩 사전 처리는 일반적인 작업입니다. 이 기사에서는 3 층 중첩 사전에서 정확히 동일한 값으로 키를 제거하는 방법에 대해 설명합니다.
문제 설명 : 3 층 중첩 사전이 주어지면 가장 안쪽 사전은 같은 값을 가질 수 있습니다. 목표는 가장 내면의 사전 값으로 모든 키를 삭제하는 것입니다.
예:
사전 입력 :
dict1 = { 'l1': { 'pop1': { 'a': 1}, 'pop2': { 'a': 1}, 'pop3': { 'a': 1}}, 'l2': { 'pop1': { 'b': 1}, 'pop2': { 'b': 1}, 'pop3': { 'b': 2}}, 'l3': { 'pop1': { 'c': 1}, 'pop2': { 'c': 2}, 'pop3': { 'c': 3}}}
예상 출력 사전 :
dict2 = { 'l2': { 'pop1': { 'b': 1}, 'pop2': { 'b': 1}, 'pop3': { 'b': 2}}, 'l3': { 'pop1': { 'c': 1}, 'pop2': { 'c': 2}, 'pop3': { 'c': 3}}}
dict1
에서 'L1'키에 해당하는 가장 안쪽 사전 값은 {'a':1}
이므로 'l1'을 삭제해야합니다.
도전 : 사전 값이 동일한지 여부를 결정하기 위해 세트를 직접 사용하면 사전이 해시가되지 않기 때문에 오류가 발생합니다.
솔루션 : 사전을 가로 지르고 가장 안쪽 사전 값을 하나씩 비교하여 해결하십시오.
암호:
def remove_identical_inner_dicts (input_dict) : "" " 3 층 중첩 사전에서 정확히 동일한 내부 사전 값을 가진 키를 삭제하십시오. Args : input_dict : 3 층 중첩 사전이 입력되었습니다. "" " # 원래 사전 수정을 피하기 위해 사본 생성 working_dict = input_dict.copy () 키의 경우 working_dict.items ()의 값 inner_dicts = list (value.values ()) # 모든 내면의 사전을 가져옵니다. { 'l1': { 'pop1': { 'a': 1}, 'pop2': { 'a': 1}, 'pop3': { 'a': 1}}, 'l2': { 'pop1': { 'b': 1}, 'pop2': { 'b': 1}, 'pop3': { 'b': 2}}, 'l3': { 'pop1': { 'c': 1}, 'pop2': { 'c': 2}, 'pop3': { 'c': 3}}} remove_identical_inner_dicts (dict1) print (dict1) # 출력 dict2
이 함수는 먼저 입력 사전을 복사 한 다음 각 항목을 반복합니다. 모든 내부 사전을 추출하고 all()
함수를 사용하여 정확히 동일인지 확인합니다. 그렇다면 원래 사전에서 해당 키를 제거하십시오. 이것은 사전을 수정하면서 반복 오류를 피합니다.
위 내용은 파이썬에서 동일한 사전의 가장 안쪽 값을 가진 3 층 중첩 사전에서 키를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

기사는 구문 모호성으로 인해 파이썬에서 튜플 이해의 불가능성에 대해 논의합니다. 튜플을 효율적으로 생성하기 위해 튜플 ()을 사용하는 것과 같은 대안이 제안됩니다. (159 자)

이 기사는 파이썬의 모듈과 패키지, 차이점 및 사용법을 설명합니다. 모듈은 단일 파일이고 패키지는 __init__.py 파일이있는 디렉토리이며 관련 모듈을 계층 적으로 구성합니다.

기사는 Python의 Docstrings, 사용법 및 혜택에 대해 설명합니다. 주요 이슈 : 코드 문서 및 접근성에 대한 문서의 중요성.

기사는 Lambda 기능, 일반 기능과의 차이 및 프로그래밍 시나리오에서의 유틸리티에 대해 설명합니다. 모든 언어가 그들을 지원하는 것은 아닙니다.

기사는 파괴, 계속 및 Python을 통과시켜 루프 실행 및 프로그램 흐름을 제어하는 역할을 설명합니다.

이 기사는 기능 및 클래스와 같은 코드 구조에서 자리 표시 자로 사용되는 NULL 작업 인 Python의 'Pass'명령문에 대해 설명하여 구문 오류없이 향후 구현을 허용합니다.

기사는 파이썬의 인수와 같은 기능을 전달하는 것에 대해 논의하며, 모듈성과 같은 이점 및 분류 및 장식기와 같은 사용 사례를 강조합니다.

기사는 Python의 / 및 // 연산자에 대해 논의합니다 : / True Division, // for floor division. 주요 이슈는 차이점과 사용 사례를 이해하는 것입니다. 문자 수 : 158


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

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

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

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