首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在字典python中循环

在字典python中循环
EN

Stack Overflow用户
提问于 2017-09-14 01:05:57
回答 2查看 988关注 0票数 0

我刚开始学习Django和Python..。已经两个月了。我正在做我自己的一个个人项目,我有一个部分,我在其中查询一个own服务并将结果传递给模板。

webservice正在返回一本字典,如下所示。

代码语言:javascript
复制
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' }

我不知道我错过了什么,有人能帮我学习如何制作我的字典吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-14 01:26:19

警告注意字典values方法的排序规则。

排序规则2.x文件3.x文件

EDIT2:

为了防止字典排序和提供的解决方案有任何奇怪之处,请将数据包装到OrderedDict中。

代码语言:javascript
复制
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()是一个不错的选择:

代码语言:javascript
复制
d = dict(each.values() for each in x['ID'])

产出:

代码语言:javascript
复制
{'Age': '25', 'First Name': 'John', 'Last Name': 'Doe'}
票数 0
EN

Stack Overflow用户

发布于 2017-09-14 01:23:10

尝试一种词典理解,并构建一个以key-1 as the key and键-2‘为值的新字典。

代码语言:javascript
复制
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”}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46208975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档