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

Python 使用棉花糖模式将字典加载到多个字典中,python,dictionary,marshmallow,Python,Dictionary,Marshmallow,我想这样做: 我有一个命令: x = { 'D': 'abc', 'E': 'def', 'F': 'asd', 'G': 'gef' } 我希望棉花糖模式将其转换为dict,如下所示: y = { 'var1': { 'D': 'abc', 'E': 'def', 'F': 'asd' }, 'var2': { 'G': 'gef' } } Update:考虑到我还有另

我想这样做:

我有一个
命令

x = {
     'D': 'abc',
     'E': 'def',
     'F': 'asd',
     'G': 'gef'
} 
我希望棉花糖模式将其转换为
dict
,如下所示:

y = {
   'var1': {
       'D': 'abc',
       'E': 'def',
       'F': 'asd'
   },
   'var2': {
       'G': 'gef'
   }
}

Update:考虑到我还有另一个DICT定义了密钥应该在哪里提交

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

我无法找出使此工作正常的模式。

不是正式的,不是。这是一个记录在案的错误/缺少的功能:

但是,有非常简单的解决方法。这是我的(也张贴在该帖中):

来自棉花糖导入字段
类自嵌套(字段嵌套):
def get_值(self、obj、attr、accessor=None、default=missing):
返回obj
现在,您可以使用这个
自嵌套
类,就好像它是一个常规的
嵌套
,但它允许您访问父字段

例如,您可以这样做:

来自棉花糖导入字段
从marshmallow.schema导入架构
类Var1Schema(Schema):
D=字段。字符串()
E=fields.String()
F=字段。字符串()
类Var2Schema(模式):
G=fields.String()
类MySchema(模式):
var1=自嵌套(Var1Schema())
var2=自嵌套(Var2Schema())

不是正式的,不是。这是一个记录在案的错误/缺少的功能:

但是,有非常简单的解决方法。这是我的(也张贴在该帖中):

来自棉花糖导入字段
类自嵌套(字段嵌套):
def get_值(self、obj、attr、accessor=None、default=missing):
返回obj
现在,您可以使用这个
自嵌套
类,就好像它是一个常规的
嵌套
,但它允许您访问父字段

例如,您可以这样做:

来自棉花糖导入字段
从marshmallow.schema导入架构
类Var1Schema(Schema):
D=字段。字符串()
E=fields.String()
F=字段。字符串()
类Var2Schema(模式):
G=fields.String()
类MySchema(模式):
var1=自嵌套(Var1Schema())
var2=自嵌套(Var2Schema())

我不明白为什么
D'
'E'
'F'
应该在这里属于
'var1'
'G'
属于
'var2'
。基于什么,你决定把这些放在哪里?>>我无法找到使之工作的模式。是的,我也是。)@willemvanonsen:我已经更新了question@DragonSlayer:模式是否可以级联?或者它只是一个级别?没有模式,您只需从一个字典中提取项目,并根据其他文件中提供的设置将其拆分为多个字典。我不明白为什么
D'
'E'
'F'
应该属于
'var1'
'G'
'var2'
。基于什么,你决定把这些放在哪里?>>我无法找到使之工作的模式。是的,我也是。)@willemvanonsen:我已经更新了question@DragonSlayer:模式是否可以级联?或者它只是一个级别?并没有模式,您只需从一个字典中获取项,然后根据其他文件中提供的设置将其拆分为多个字典。