如何将包含多个字典的列表合并为一个字典?

如何将包含多个字典的列表合并为一个字典?

将列表中多个字典合并为一个字典

问题描述:

给定一个包含多个字典的列表,如何将这些字典合并为一个单独的字典?

问题解析:

从提供的代码中可以看出,每个字典都是一个 json 字符串表示。问题在于,这些字符串中的引号是单引号,而不是所需的双引号。

解决方案:

  1. 导入 json 模块:import json
  2. 初始化一个空字典:d1 = {}
  3. 遍历列表中的每个 json 字符串

    • 调用 json.loads(i) 将字符串转换为一个字典。
    • 将转换后的字典与 d1 合并,使用 d1.update() 方法。
  4. 打印合并后的字典:print(d1)

示例代码:

import json

d1 = {}
l1 = [
    '{"xvda": {"I/O": {"r/s": "0.33", "await": "12.58", "w/s": "0.46"}, "use_%": "32", "total_G": "15G"}}',
    '{"xvdf": {"I/O": {"r/s": "0.00", "await": "20.23", "w/s": "0.01"}, "use_%": "2", "total_G": "100G"}}',
    '{"xvdg": {"I/O": {"r/s": "0.02", "await": "262.89", "w/s": "3.22"}, "use_%": "64", "total_G": "150G"}}'
]

for i in l1:
    d1.update(json.loads(i))

print(d1)

以上就是如何将包含多个字典的列表合并为一个字典?的详细内容,更多请关注www.sxiaw.com其它相关文章!