我有一个应用程序以这种确切的格式返回多个字典列表:
[{'key1':'value1','key2':'value2'}][{'key3':'value3','key4':'value4'}]
如何按原样读取整个字典列表并将这些列表分开以便在将来的代码中进行进一步分析?
我尝试将数据读入一个变量:
a = [{'key1':'value1','key2':'value2'}][{'key3':'value3','key4':'value4'}]
但出现错误:
TypeError: list indices must be integers or slices, not dict
最佳答案
处理您创建的字符串的一种粗略方法是执行string.split
和string.replace
,如下所示。
import ast
a = "[{'key1':'value1','key2':'value2'}][{'key3':'value3','key4':'value4'}]"
li = []
#split of ']['
for elem in a.split(']['):
#Replace elements in dictionary to make the string json compliant
d = elem.strip('[]')
#Use literal_eval to convert to dictionary
dct = ast.literal_eval(d)
#Append parsed dictionary to a list
li.append(dct)
print(li)
#[{'key1': 'value1', 'key2': 'value2'}, {'key3': 'value3', 'key4': 'value4'}]
关于python - 如何读取API输出的多个词典列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55815375/