当前位置: 代码迷 >> python >> 根据值(理解)对嵌套字典中的元素进行计数
  详细解决方案

根据值(理解)对嵌套字典中的元素进行计数

热度:118   发布时间:2023-06-13 13:46:22.0

我有一个像这样的数据结构;

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

}

我试图弄清楚如何计算等于“财务”的“ sector1”值。 做这件事的长路是:

count = 0

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

print(count)

但是我试图看看是否有可能通过使用诸如枚举或len()之类的dict理解来做到这一点,但是没有运气。 我可以遵循的任何建议/想法或示例吗?

您可以将sum生成器表达式一起使用:

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

其中my_data保存问题中提到的dict对象。

是的,但是使用字典理解毫无意义:

>>> sum(1 for v in data.values() if v['sector1'] == 'finance')
2
  相关解决方案