我有一个像这样的数据结构;
{
"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
对象。关于python - 根据值(理解)对嵌套字典中的元素进行计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42125249/