使用棉花糖模式将字典加载到多个字典中

2024-04-29 12:40:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想这样做:

我有一个dict

x = {
     'D': 'abc',
     'E': 'def',
     'F': 'asd',
     'G': 'gef'
} 

我希望棉花糖模式将其转换为dict,看起来像:

^{pr2}$

更新:考虑一下我有另一个dict,它定义了键应该出现在哪里

s = {
       'var1': ['D', 'E', 'F', 'I'],
       'var2': ['G', 'A']
   }

我无法想出使这项工作成功的方案。在


Tags: 定义def模式方案dict棉花abcasd
1条回答
网友
1楼 · 发布于 2024-04-29 12:40:00

不是正式的,没有。这是一个记录在案的缺陷/缺失的功能:https://github.com/marshmallow-code/marshmallow/issues/940。在

然而,有非常简单的解决办法。这是我的(也贴在那个帖子里):

from marshmallow import fields

class SelfNested(fields.Nested):
    def get_value(self, obj, attr, accessor=None, default=missing):
        return obj

您现在可以使用这个SelfNested类,就像它是一个常规的Nested,但是它允许您访问父字段。在

对于你的例子,你可以这样做:

^{pr2}$

相关问题 更多 >