首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字典处理字典

字典处理字典
EN

Stack Overflow用户
提问于 2017-02-02 05:49:57
回答 3查看 822关注 0票数 2

我有一本字典--价值本身就是字典。

如何以最有效的方式从子词典中提取唯一的值集?

代码语言:javascript
复制
{ 'A':{'A1':'A1V','B2':'A2V'..},
  'B':{'B1':'B1V','B2':'B2V'...},
  ...}

预期产出:

代码语言:javascript
复制
['A1V','A2V','B1V','B2V'...]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-02 05:56:13

单行:

代码语言:javascript
复制
>>> [val for dct in x.values() for val in dct.values()]
['A1V', 'A2V', 'B2V', 'B1V']

假设你给你的迪克取名为x

您提到的是唯一的,在这种情况下,用集合理解替换列表-理解:

代码语言:javascript
复制
>>> {val for dct in x.values() for val in dct.values()}  # curly braces!
{'A1V', 'A2V', 'B1V', 'B2V'}
票数 5
EN

Stack Overflow用户

发布于 2017-02-02 05:54:40

代码语言:javascript
复制
uniques = set()
for ukey, uvalue in outerdic.items():
    for lkey, lvalue in uvalue.items():
        uniques.add(lvalue)
print uniques

使用一套应该有效。新的堆栈溢出,试图找出语法突出显示的工作方式。

这假设字典被称为outerdic。

票数 0
EN

Stack Overflow用户

发布于 2017-02-02 05:55:43

代码语言:javascript
复制
dictionary = { 'A':{'A1':'A1V','B2':'A2V'},'B':{'B1':'B1V','B2':'B2V'}}

for key in dictionary.keys() :
    dict1 = dictionary[key]
    for key1 in dict1.keys():
        print(dict1[key1])

尽量保持简单。

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

https://stackoverflow.com/questions/41995061

复制
相关文章

相似问题

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