问题

如何合成多个Map,以方便查询

解决方案

比如有以下字典:

    a = {'x': 1, 'z': 3}
    b = {'y': 2, 'z': 4}

现在你想在这两个字典中查询(先查询a如果没查到再查询b)。一个简单的做法就是使用collections里的ChainMap类,如下:

    from collections import ChainMap
    c = ChainMap(a, b)
    print(c['x'])
    print(c['y'])
    print(c['z'])

讨论