在python中将列表转换为字典

时间:2019-07-01 22:00:47

标签: python arrays json dictionary

我正在尝试将字典形式的列表转换为实际字典。

这是用于刮网的工具。我曾尝试删除单个''并将其设置为字典,但是我是编程新手,我认为我的逻辑在某种程度上已经过时。

我的列表的格式为

['"name":"jack"', '"address":"1234 College Ave"']

我正在尝试将一般形式转换为形式的字典

{"name":"jack", "address":"1234 College Ave"}

3 个答案:

答案 0 :(得分:3)

您可以将其转换为字符串JSON表示形式,然后使用json.loads

>>> import json
>>> data = ['"name":"jack"', '"address":"1234 College Ave"']
>>> json.loads('{' + ', '.join(data) + '}')
{'name': 'jack', 'address': '1234 College Ave'}

答案 1 :(得分:0)

l = ['"name":"jack"', '"address":"1234 College Ave"']
d = {elem.split(":")[0][1:-1]:elem.split(":")[1][1:-1] for elem in l}
print(d)

答案 2 :(得分:0)

一种解决方法是在将每个字符串传递给json.loads之前对其进行修复。

inp = ['"name":"jack"', '"address":"1234 College Ave"']

import json

result = {}
for item in inp:
    result.update(json.loads("{" + item + "}"))

print(result)
{'name': 'jack', 'address': '1234 College Ave'}

但是,理想情况下,您应该以更好的格式获取数据,而不必依赖于对数据的处理才能使用它。如果可以,请在“上游”解决此问题。