首页新闻找找看学习计划

python3 将列表中的多个字典值 合成一个成字典

0
悬赏园豆:20 [已解决问题] 解决于 2018-05-10 17:06

下面是一个python3 得到的列表 有三个值,每个值都是一个字典, 请问这个列表怎样变成一个字典。就是说 我想把这个列表里的三个字典合成一个字典


["{'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'}}"]

 

经过各种尝试我发现自己做不来,求大神给个方法。

showdbs的主页 showdbs | 初学一级 | 园豆:9
提问于:2018-04-28 11:19
< >
分享
最佳答案
1

本质问题在于json里应使用双引号

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)
收获园豆:20
北方姆Q | 小虾三级 |园豆:856 | 2018-04-28 11:41

我确实想通过字典转换成json, 但是现在的问题是 我想把列表中的这三个元素 组合成一个字典。

showdbs | 园豆:9 (初学一级) | 2018-04-28 11:44

@showdbs: 看代码啊

北方姆Q | 园豆:856 (小虾三级) | 2018-04-28 11:46

@北方姆Q: 不好意思,刚才看的时候代码没刷新出来  TT

showdbs | 园豆:9 (初学一级) | 2018-04-28 11:47
其他回答(1)
0

你这三个不是字典,是字符串额。

你一层一层地剥,先把三个元素拿出来,再把字符串转换成字典,

对于每个字典,字典的键作为新字典的键,字典的值作为新字典的值。

你做不来转换是因为你的逻辑没有理清,在你转换的时候需要清楚地知道每一步的type,然后做对应的转化。

Masako | 园豆:1751 (小虾三级) | 2018-05-02 00:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册