접근자 메서드는 복잡한 데이터 구조에서 데이터를 검색하는 편리한 방법을 제공하므로 직관적인 객체 지향 탐색이 가능합니다. 그러나 Python의 기본 사전에는 본질적으로 이 기능이 부족합니다.
문제: 속성 기반 데이터 검색이 가능하도록 중첩된 Python 사전을 객체와 유사한 구조로 어떻게 변환할 수 있습니까?
답변:
Namedtuples 사용(Python 2.6 이상)
최신 버전의 Python(2.6 이상)의 경우, namestuples는 다음을 제공합니다. 우아한 솔루션. 이는 명명된 필드가 있는 변경 불가능한 사용자 정의 데이터 유형을 나타냅니다.
from collections import namedtuple MyStruct = namedtuple('MyStruct', 'a b d') s = MyStruct(a=1, b={'c': 2}, d=['hi']) print(s.a, s.b['c'], s.d[0]) # Output: 1 2 hi
사용자 정의 구조체 클래스 사용
또는 다음 동작을 모방하는 사용자 정의 Struct 클래스를 생성할 수 있습니다. 개체:
class Struct: def __init__(self, **entries): self.__dict__.update(entries) args = {'a': 1, 'b': 2} s = Struct(**args) print(s.a, s.b) # Output: 1 2
위 내용은 속성 기반 데이터 검색을 위해 중첩된 Python 사전을 객체와 같은 구조로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!