使用任意字典(最终具有嵌套集合和基本类型),使用 python-attrs 使其成为嵌套对象列表的最佳方法是什么?
一些限制:字典键始终是字符串(即有效的 Python 标识符),其值仅包含本机集合类型、字符串、整数和浮点数。任何完全深度的嵌套字典都将始终具有相同的特征。在任何列表或元组中,所有项目都将是相同类型或无。而且很可能我的字典将始终是有序映射,因此该顺序应保留在生成的顶级列表和每个嵌套映射中。
例如:
{'some_key': [
{'some_value': 12, 'foo': 'abc', 'bar': [1, 4, 8], 'baz': None}
{'some_value': 24, 'foo': 'xyz', 'bar': [12, 12], 'baz': 'this'}],
'other_key' : [1,2,3,4]
}
我想得到一个可以使用属性遍历的两个对象的列表:
some_key[0].some_value, some_key[0].baz
other_key[-1]
即,结果将是“对象化”嵌套映射。我怎么能用 attrs 做到这一点?是一些循环attr.make_class()
调用的方式吗?