我正在尝试从 mysql 查询创建嵌套字典,但出现关键错误
result = {}
for i, q in enumerate(query):
result['data'][i]['firstName'] = q.first_name
result['data'][i]['lastName'] = q.last_name
result['data'][i]['email'] = q.email
Run Code Online (Sandbox Code Playgroud)
错误
KeyError: 'data'
Run Code Online (Sandbox Code Playgroud)
想要的结果
result = {
'data': {
0: {'firstName': ''...}
1: {'firstName': ''...}
2: {'firstName': ''...}
}
}
Run Code Online (Sandbox Code Playgroud)
您想创建一个嵌套字典
result = {} 将为平面字典创建一个赋值,其项目可以有任何值,如“string”、“int”、“list”或“dict”
对于这个平面任务
python知道要做什么 result["first"]
如果您希望“第一”也成为另一本字典,您需要通过 assingment 告诉 Python
result['first'] = {}。
否则,Python 会引发 "KeyError"
我想你正在寻找这个:)
>>> from collections import defaultdict
>>> mydict = lambda: defaultdict(mydict)
>>> result = mydict()
>>> result['Python']['rules']['the world'] = "Yes I Agree"
>>> result['Python']['rules']['the world']
'Yes I Agree'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7874 次 |
| 最近记录: |