我刚开始学习Django和Python..。已经两个月了。我正在做我自己的一个个人项目,我有一个部分,我在其中查询一个own服务并将结果传递给模板。
webservice正在返回一本字典,如下所示。
x = {'ID':[{
'key-1': 'First Name',
'key-2': 'John'
},{
'key-1': 'Last Name',
'key-2': 'Doe'
},{
'key-1': 'Age',
'key-2': '25'
}]我期望在字典中迭代列表,并创建自己的字典,如下所示:
d = {'First Name': 'John', 'Last Name': 'Doe', 'Age': '25' }
我不知道我错过了什么,有人能帮我学习如何制作我的字典吗?
发布于 2017-09-14 01:26:19
警告注意字典values方法的排序规则。
EDIT2:
为了防止字典排序和提供的解决方案有任何奇怪之处,请将数据包装到OrderedDict中。
from collections import OrderedDict
x = {'ID':[OrderedDict({
'key-1': 'First Name',
'key-2': 'John'
}),OrderedDict({
'key-1': 'Last Name',
'key-2': 'Doe'
}),OrderedDict({
'key-1': 'Age',
'key-2': '25'
})]}对于这样的事情,dict()是一个不错的选择:
d = dict(each.values() for each in x['ID'])产出:
{'Age': '25', 'First Name': 'John', 'Last Name': 'Doe'}发布于 2017-09-14 01:23:10
尝试一种词典理解,并构建一个以key-1 as the key and键-2‘为值的新字典。
x = {'ID':[{
'key-1': 'First Name',
'key-2': 'John'
},{
'key-1': 'Last Name',
'key-2': 'Doe'
},{
'key-1': 'Age',
'key-2': '25'
}]}
print({el['key-1']: el['key-2'] for el in x['ID']})结果
{“年龄”:“25”,“名字”:“约翰”,“姓氏”:“Doe”}
https://stackoverflow.com/questions/46208975
复制相似问题