무한 중첩 기본 사전을 어떻게 만들 수 있나요? 즉, defaultdict의 기본값을 다른 defaultdict로 설정할 수 있습니까? 이렇게 하면 필요에 따라 필요한 사전을 자동으로 생성하는 임의 깊이의 중첩 구조가 가능해집니다.
예를 들어 다음 코드를 고려해보세요.
x = defaultdict(...stuff...) x[0][1][0] {}
이 시나리오에서 x[0]은 defaultdict가 되고, x[0][1]은 또 다른 defaultdict가 되고, x[0][1][0]은 표준이 됩니다. Dictionary.
다른 defaultdict를 포함하는 defaultdict를 생성할 수 있지만 표준 defaultdict 인수에서는 이를 직접 지원하지 않습니다. 그러나 다중 레벨 중첩 defaultdict를 허용하는 간단한 해결 방법이 있습니다.
기본값을 다른 defaultdict로 정의하는 대신 기본값을 defaultdict를 반환하는 람다 함수로 정의하세요.
x = defaultdict(lambda: defaultdict(dict))
이 코드는 2단계 defaultdict를 생성합니다. 여기서 x[0]은 defaultdict이고 x[0][1]은 또 다른 defaultdict이며 값은 다음과 같습니다.
무한 수준 중첩의 경우 람다 함수에 추가 수준을 추가하기만 하면 됩니다.
x = defaultdict(lambda: defaultdict(lambda: defaultdict(...)))
이 해결 방법을 사용하면 임의로 중첩된 기본 사전을 생성할 수 있어 복잡한 데이터를 편리하게 관리할 수 있습니다. 자동 가치 창출 구조.
위 내용은 Python에서 무한 중첩 defaultdict를 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!