Python 如何使用列表中的值获取字典中特定键的计数
我在字典里的内容如下 我需要知道1的计数。业务领域及其价值计数Python 如何使用列表中的值获取字典中特定键的计数,python,list,dictionary,Python,List,Dictionary,我在字典里的内容如下 我需要知道1的计数。业务领域及其价值计数 名称及其数值计算 我想知道商业区的masterid和名称,这是所有的名字 预期结果如下 [ { "name": "BusinessArea", "values": [ { "name": "Accounting", "count": "2&q
[
{
"name": "BusinessArea",
"values": [
{
"name": "Accounting",
"count": "2"
},
{
"name": "Research",
"count": "2"
},
{
"name": "Engineering",
"count": "1"
}
]
},
{
"name": "Designation",
"values": [
{
"name": "L1",
"count": "3"
},
{
"name": "l2",
"count": "2"
}
]
}
]
masterid 1、2和3有L1和masterid 1和2 L1:3有L2,L2:2类似于下面的内容(不完全是您提到的输出,但非常接近..)
输出
defaultdict(<class 'int'>, {'Accounting': 2, 'Research': 2, 'Engineering': 1})
defaultdict(<class 'int'>, {'L1': 3, 'L2': 2})
defaultdict(,{'Accounting':2,'Research':2,'Engineering':1})
defaultdict(,{'L1':3,'L2':2})
from collections import defaultdict
test = [{'masterid': '1', 'name': 'Group1', 'BusinessArea': ['Accounting', 'Research'], 'Designation': ['L1', 'L2']},
{'masterid': '2', 'name': 'Group1', 'BusinessArea': ['Research', 'Accounting'],
'Role': [{'id': '5032', 'name': 'Tester'}, {'id': '5033', 'name': 'Developer'}], 'Designation': ['L1', 'L2']},
{'masterid': '3', 'name': 'Group1', 'BusinessArea': ['Engineering'],
'Role': [{'id': '5032', 'name': 'Developer'}, {'id': '5033', 'name': 'Developer', 'parentname': ''}],
'Designation': ['L1']}]
b_area = defaultdict(int)
des = defaultdict(int)
for entry in test:
for val in entry['BusinessArea']:
b_area[val] += 1
for val in entry['Designation']:
des[val] += 1
print(b_area)
print(des)
defaultdict(<class 'int'>, {'Accounting': 2, 'Research': 2, 'Engineering': 1})
defaultdict(<class 'int'>, {'L1': 3, 'L2': 2})