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