【发布时间】:2017-01-13 02:10:54
【问题描述】:
我有一个嵌套字典,它可以在键和值中包含占位符。
example_dict = {'dict1': {'%(map3)s': {'data': 'tmp'},
'%(map2)s': {'freshdata': 'testtest'}},
'dict2': {'%(map3)s': {'data': '%(map1)s'}, '%(map3)s': {'status': 'available'}}}
我有一个映射字典,带有占位符映射:
mapping_dict= {
"map1": [1,2,2],
"map2": "qwerz",
"map3": "asdfasdf"
}
如果占位符位于 VALUE 位置,mapping_dict 的相应映射也可能包含另一个数据类型而不是字符串作为值,例如列表或整数。如何将此数据类型传递给原始字典?我不知道如何制作占位符,例如列表。
信息:mapping_dict 包含的键可能比给定的example_dict 包含的键多。
我想要一个函数,用 mapping_dict 的值替换给定字典的占位符。
什么是一个好的递归实现?
【问题讨论】:
-
这是一个简单的 (a) iterate-on-base-type, (b) inspect-item-type, (c) goto a;直到你得到一个字符串或不可迭代的类型......你有什么问题?
-
列表不能是字典键。除非您要使用列表的字符串表示形式。
标签: dictionary nested string-formatting python-3.5