Python 基于值计算嵌套dict中的元素(理解)

Python 基于值计算嵌套dict中的元素(理解),python,python-3.x,dictionary,count,Python,Python 3.x,Dictionary,Count,我有一个这样的数据结构 { "job3": { "sector1": "finance", "sector2": "it" }, "job2": { "sector1": "finance", "sector2": "it" }, "job1": { "sector1": "it", "sector2": "finance" } } 我试图弄清楚如何计算等同于“金融”的“部门1”价值。实现这一目标的漫长道路是 count = 0 for x,y

我有一个这样的数据结构

{
"job3": {
    "sector1": "finance",
    "sector2": "it"
},
"job2": {
    "sector1": "finance",
    "sector2": "it"
},
"job1": {
    "sector1": "it",
    "sector2": "finance"
}
}

我试图弄清楚如何计算等同于“金融”的“部门1”价值。实现这一目标的漫长道路是

count = 0

for x,y in data.items():
    if y['sector1'] == 'finance':
        count += 1

print(count)

但我试图看看是否有可能通过使用enumerate或len()之类的方法通过听写理解来完成,但没有运气。任何我可以遵循的建议/想法或示例?

您可以将
sum
与生成器表达式一起使用,如下所示:


其中,
my_data
包含问题中提到的
dict
对象。

是的,但是使用字典理解没有意义:

>>> sum(1 for v in data.values() if v['sector1'] == 'finance')
2
>>> sum(1 for v in data.values() if v['sector1'] == 'finance')
2