Python - 将键映射到作为映射的值
问题描述:
是否可以使用Python将字符串映射到映射。例如,如果我想要一个地图,看起来像:Python - 将键映射到作为映射的值
MyMap中= { 'ABC':{ '123':56}, 'DEF':{ '456':92}}
这是可能?如果我在mymap为空时执行迭代(例如在循环的开始处),我将如何向地图添加值或检查地图以查看“内部地图”的值。谢谢!
答
>>> from collections import defaultdict
>>> mymap = defaultdict(dict)
>>> mymap['ABC'] = {'123' : 56}
>>> mymap
defaultdict(<type 'dict'>, {'ABC': {'123': 56}})
可以尝试这个片段中,希望这可以解决你的目的
答
是的,它是可能的。如果你不能确定是mymap
有元素,不想做try except
可以使用dict.get(key, default)
方法:
value = mymap.get('ABC', {}).get('123', None)
if values is not None:
# Found key 123 inside mymap['ABC']
else:
# mymap['123'] or mymap['123']['ABC'] doesn't exist
所以,如果我有{“ABC”:{“123”:56}}) ,我如何检查'56'是否与'ABC'相关? ('123'也很重要,但不是直接在这一步)。每个内部字典只会有一对(用元组代替字典会更有意义)? – biocompamateur
最近才了解到'defaultdict',确实非常有用。 –
@biocompamateur是如果你只有一对值,那么元组会更好(或者如果你想改变其中的一个值,那么就是一个列表)。 –