如何将 namedtuple 转换为字典或常规元组

it2023-02-03  70

我们刚刚学习了如何将转换namedtuple为dict。反过来呢?我们又如何将其转换为字典实例?

实验证明,namedtuple它带有一种称为的方法._asdict()。因此,转换它就像调用方法一样简单。

>>> blue = Color(r=0, g=0, b=255, alpha=1.0) >>> blue._asdict() {'r': 0, 'g': 0, 'b': 255, 'alpha': 1.0} 复制代码

您可能想知道为什么该方法以_开头。这是与Python的常规规范不一致的一个地方。通常,_代表私有方法或属性。但是,namedtuple为了避免命名冲突将它们添加到了公共方法中。除了_asdict,还有_replace,_fields和_field_defaults。您可以在这里找到所有这些。

要将namedtupe转换为常规元组,只需将其传递给tuple构造函数即可。

>>> tuple(Color(r=50, g=205, b=50, alpha=0.1)) (50, 205, 50, 0.1) 复制代码
最新回复(0)