질문:
다단계 사전을 어떻게 만들 수 있나요? 중첩된 값 목록이 주어지면 가변 깊이를 사용합니까? 다음 샘플 목록을 고려하십시오.
<code>[A][B1][C1] = 1 [A][B1][C2] = 2 [A][B2] = 3 [D][E][F][G] = 4</code>
원하는 출력은 다음 구조와 유사한 다중 레벨 사전입니다.
<code>A --B1 -----C1 = 1 -----C2 = 1 --B2 = 3 D --E ----F ------G = 4</code>
해결책:
defaultdict
모듈의 collections
을 사용하면 삽입 문을 하드코딩할 필요 없이 동적으로 중첩 사전을 생성할 수 있습니다. defaultdict
은 기존 키를 찾을 수 없는 경우 기본값을 반환합니다. 구현 방법은 다음과 같습니다.
<code class="python">from collections import defaultdict # Define a function to create a nested dictionary with any level of depth nested_dict = lambda: defaultdict(nested_dict) # Create the nested dictionary using the nested_dict function nest = nested_dict() # Populate the nested dictionary with the given data nest[0][1][2][3][4][5] = 6 print(nest)</code>
이 코드는 깊이가 7인 중첩 사전을 생성하며, 여기서 [0][1][2][3][4][5]
키의 값은 6으로 설정됩니다. 중첩 사전은 다음을 사용하여 액세스할 수 있습니다. 동일한 키 구조로 다양한 수준에서 데이터를 동적으로 생성하고 검색할 수 있습니다.
위 내용은 중첩된 목록이 주어지면 가변 깊이로 다단계 사전을 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!