Python:如果其他值为真,则计算嵌套字典中值的出现次数

问题描述

我有一个看起来像这样的嵌套字典:

except:

我现在需要获取每个国家的出现次数以及回答是或否的人数。目前,我只收集每个国家的出现次数:

{
1: {'Name': {'John'},'Answer': {'yes'},'Country': {'USA'}},2: {'Name': {'Julia'},'Answer': {'no'},'Country': {'Hong Kong'}}
3: {'Name': {'Adam'},'Country': {'Hong Kong'}}
}

所以使用我的数据表我得到类似

nationalities = ['USA','Hong Kong','France' ...]
for countries in nationalities:
    cnt =[item for l in [v2 for v1 in dictionary1.values() for v2 in v1.values()] for item in l].count(countries)
    result.append(countries + ': ' + str(cnt))

然而,我想得到回答是和回答否的人的比例。这样我得到一个 ['Hong Kong: 2','France: 2','Italy: 3'] 形式的列表,其中第一个数字是总数,第二个和第三个分别是是和否

感谢您的帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)