下面是一个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'}}"]
经过各种尝试我发现自己做不来,求大神给个方法。
本质问题在于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)
我确实想通过字典转换成json, 但是现在的问题是 我想把列表中的这三个元素 组合成一个字典。
@showdbs: 看代码啊
@北方姆Q: 不好意思,刚才看的时候代码没刷新出来 TT
你这三个不是字典,是字符串额。
你一层一层地剥,先把三个元素拿出来,再把字符串转换成字典,
对于每个字典,字典的键作为新字典的键,字典的值作为新字典的值。
你做不来转换是因为你的逻辑没有理清,在你转换的时候需要清楚地知道每一步的type,然后做对应的转化。