將巢狀 Python 字典轉換為物件
Python 字典提供了一種儲存和組織資料的便利方法。但是,使用巢狀字典可能很麻煩,尤其是當您想要使用 JavaScript 樣式物件中的點表示法存取資料時。本文探討了一種將嵌套 Python 字典轉換為物件結構的優雅方法。
傳統上,將字典轉換為物件需要遞歸方法。然而,現代Python版本引入了集合模組中的namedtuple,它提供了更清晰的語法:
from collections import namedtuple MyStruct = namedtuple('MyStruct', 'a b d') s = MyStruct(a=1, b={'c': 2}, d=['hi'])
此結構允許方便的屬性存取:
s.a 1 s.b {'c': 2} s.d ['hi']
另一種方法使用從關鍵字參數動態建立屬性的自訂Struct 類別:
class Struct: def __init__(self, **entries): self.__dict__.update(entries)
透過向Struct建構函式提供字典,您可以建立一個具有與鍵對應的屬性的物件:
args = {'a': 1, 'b': 2} s = Struct(**args) s.a 1 s.b 2
這些技術提供了一種優雅的方式來處理Python 字典中的巢狀數據,允許物件樣式的屬性存取和簡化的程式碼。
以上是如何將嵌套的 Python 字典轉換為物件以便更輕鬆地存取屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!