繁体   English   中英

将列表列表转换为字典字典

[英]Converting list of lists to dictionary of dictionaries

我有一个像下面这样的字符串列表

string_list = ['''{"no" : 1, "name": "John Doe", "address": "123, Einstein St, SA, 28372"}''', '''{'no" : 1, "name": "John Denver", "address": "454, BohrSt, SA, 64584"}''']

我正在尝试将列表中的每个字符串转换为字典并将其附加到字典中。

import json
newdict = {}
for string in string_list:
    new = json.loads(string)
    newdict.update(new)

但它产生了一个错误:

raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

但如果我这样做,

new = json.loads(string_list[1])

有用。 并将new的类型指定为<class 'dict'> 我该如何解决这个问题?

我想这个也许你需要

  • 使用json.loads的元素转换的string_list到字典
  • 通过dict comprehension将列表列表转换为字典字典

代码:

import json
string_list = ['{"no" : 1, "name": "John Doe", "address": "123, Einstein St, SA, 28372"}', '{"no" : 1, "name": "John Doe", "address": "123, Einstein St, SA, 28372"}']
print({idx:json.loads(data) for idx,data in enumerate(string_list)})

结果:

{
    0: {"no": 1, "name": "John Doe", "address": "123, Einstein St, SA, 28372"},
    1: {"no": 1, "name": "John Doe", "address": "123, Einstein St, SA, 28372"},
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM