如何使用对象样式语法访问嵌套 Python 字典
在 Python 中使用嵌套字典时,访问数据可能很麻烦使用按键。这就是需要对象样式语法的地方。
在 Python 2.6 中,namedtuple 数据结构提供了解决方案。命名元组允许创建具有命名属性的元组,从而可以轻松使用属性语法访问数据。例如:
from collections import namedtuple MyStruct = namedtuple('MyStruct', 'a b d') s = MyStruct(a=1, b={'c': 2}, d=['hi']) print(s.a) # Output: 1 print(s.b) # Output: {'c': 2} print(s.c) # Error: AttributeError: 'MyStruct' has no attribute 'c' since it's not defined in the tuple print(s.d) # Output: ['hi']
可以使用自定义类实现替代方法:
class Struct: def __init__(self, **entries): self.__dict__.update(entries) args = {'a': 1, 'b': 2} s = Struct(**args) print(s.a) # Output: 1 print(s.b) # Output: 2
namedtuples 和自定义类都提供了一个优雅的解决方案来使用对象访问 Python 中的嵌套字典。样式语法。考虑适合您的特定用例的数据结构。
以上是如何使用对象样式语法访问嵌套 Python 字典?的详细内容。更多信息请关注PHP中文网其他相关文章!