collections.ChainMap同时查找多个字典

collections.ChainMap 该类型可以容纳数个不同的映射对象,然后在进行键查找操作的时候,这些对象会被当作一个整体被逐个查找,直到键被找到为止。

 

 1 # -*- coding: utf-8 -*-
 2 szServers = {
 3 '192.168.1.1': 'online',
 4 '192.168.1.2': 'online',
 5 '192.168.1.3': 'offline',
 6 '192.168.1.4': 'offline',
 7 }
 8 hzServers = {
 9 '192.168.1.5': 'online',
10 '192.168.1.6': 'online',
11 '192.168.1.7': 'offline',
12 '192.168.1.8': 'offline',
13 }
14 
15 from collections import ChainMap
16 merged = ChainMap(szServers, hzServers) #多个字典合并
17 print(merged['192.168.1.1'])
18 hz_servers['192.168.1.9'] = 'online'
19 print(merged['192.168.1.9'])  #有意思的是新添加的字典原素也会查找

输出结果:

online

online

 

posted @ 2019-08-10 19:24  地狱西路  阅读(115)  评论(0)    收藏  举报