무한 수준 재귀 defaultdict 생성
Python에서 defaultdict는 사전에 누락된 키에 대한 기본값을 제공하는 다목적 도구입니다. 그런데 무한 수준의 재귀적 defaultdict를 만드는 것이 가능합니까? 이는 기본값도 defaultdict인 defaultdict를 생성하여 효과적으로 중첩된 defaultdict를 생성한다는 의미입니다.
처음에는 x = defaultdict(defaultdict)가 2레벨 defaultdict를 생성할 것으로 예상할 수 있지만 x[0에 액세스하면 ][0]은 KeyError를 발생시킵니다. 무한 수준 재귀를 달성하려면 대체 접근 방식이 필요합니다.
한 가지 해결책은 람다 함수를 기본값으로 사용하는 것입니다.
x = defaultdict(lambda: defaultdict(dict))
이렇게 하면 기본값이 다음과 같은 defaultdict가 생성됩니다. 사전을 기본값으로 사용하여 또 다른 defaultdict를 반환하는 함수입니다. x[0][1][0]에 액세스하면 중첩된 기본 사전 내에 빈 사전이 생성되므로 무한 수준의 재귀가 가능합니다.
다른 답변에 제시된 재귀 방법과 비교할 때 이 접근 방식은 몇 가지 장점을 제공합니다. :
위 내용은 Python에서 무한 수준 재귀 기본값을 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!