Skip to main content
 首页 » 编程设计

python之如何将字典列表合并到一个字典

2025年05月04日18soundcode

我有一个从 yaml 转换过来的字典列表,但我如何将它们合并到一个新列表中?

我想合并这个;

ip_service_list = [{'192.168.15.90': {'process': {'nginx': 1}}}, {'192.168.15.90': {'process': {'varnish': 1}}}, {'192.168.15.91': {'process': {'tomcat': 1}}}] 

变成这样;

{ 
'192.168.15.90':  
    {'process': {'nginx': 1,'varnish': 1}}},  
'192.168.15.91':  
    {'process': {'tomcat': 1} 
} 

请您参考如下方法:

from collections import defaultdict 
 
# the structure we try to fill is in the lambda 
d = defaultdict(lambda:{'process' : {}})  
 
for row in s: 
    # just one iteration, aka ip = next(iter(row)) 
    for ip in row:  
        d[ip]['process'].update(row[ip]['process']) 
 
print d