>백엔드 개발 >파이썬 튜토리얼 >Python의 중첩 사전에서 키-값 쌍을 재귀적으로 인쇄하려면 어떻게 해야 합니까?

Python의 중첩 사전에서 키-값 쌍을 재귀적으로 인쇄하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-28 06:30:11194검색

How Can I Recursively Print Key-Value Pairs from a Nested Dictionary in Python?

중첩 사전 순회

이 문제에서는 중첩 사전이 있고 값이 아닌 모든 키-값 쌍을 인쇄하려고 합니다. 사전. 또한 중첩된 사전을 순회하고 해당 키-값 쌍을 재귀적으로 인쇄해야 합니다.

여러 중첩 루프를 사용하여 솔루션을 시도할 수 있지만 이 접근 방식은 더 많은 중첩 수준이 발생함에 따라 확장되지 않습니다. 핵심은 재귀를 사용하는 것입니다.

재귀 솔루션

  1. 사전을 입력으로 사용하는 myprint 함수를 정의하세요.
  2. 함수 내에서:

    • 사전의 항목을 반복합니다. 키-값 쌍.
    • 현재 값이 사전인 경우 해당 사전에서 myprint를 재귀적으로 호출합니다.
    • 값이 사전이 아닌 경우 원하는 형식으로 키-값 쌍을 인쇄합니다. .

다음은 구현:

def myprint(d):
    for k, v in d.items():
        if isinstance(v, dict):
            myprint(v)
        else:
            print("{} : {}".format(k, v))

사용

이 재귀 솔루션을 사용하려면 중첩된 사전을 myprint 함수에 전달하기만 하면 됩니다. 예:

d = {
    'xml': {
        'config': {
            'portstatus': {'status': 'good'},
            'target': '1'
        },
        'port': '11'
    }
}
myprint(d)

출력

xml : {'config': {'portstatus': {'status': 'good'}, 'target': '1'}, 'port': '11'}
config : {'portstatus': {'status': 'good'}, 'target': '1'}
portstatus : {'status': 'good'}
status : good
target : 1
port : 11

위 내용은 Python의 중첩 사전에서 키-값 쌍을 재귀적으로 인쇄하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.