gpt4 book ai didi

python - 如何查找字典列表中出现的次数

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:50 26 4
gpt4 key购买 nike

我试图找出以下示例中每个 case_id email_response 出现的次数:

json_obj = [{
'case_id': 1000,
'type': 'email',
'customer_id': 42571,
'date': '2015-01-20',
},
{
'case_id': 1000,
'type': 'email_response',
'customer_id': 42571,
'date': '2015-01-21',
},
{
'case_id': 1021,
'type': 'email',
'customer_id': 88686,
'date': '2015-01-24',
}]

因此,在本例中,case_id = 1000 的答案为 1case_id = 1021 的答案为 0 >.

最佳答案

您可以创建另一个字典并继续更新计数,如下所示

>>> result = {}
>>> for obj in json_obj:
... if obj['type'] == 'email_response':
... result[obj['case_id']] = result.get(obj['case_id'], 0) + 1
...
>>> result
{1000: 1, 1021: 0}

由于我们传递 0 作为第二个参数,如果 dict.get 方法找不到要检索的 key ,它将返回 0,否则为键对应的实际值。你也可以这样做

>>> result = {}
>>> for obj in json_obj:
... result[obj['case_id']] = result.get(obj['case_id'], 0) + (obj['type'] == 'email_response')
...
>>> result
{1000: 1, 1021: 0}

由于 Python 的 bool 值是 int 的子类,因此 True 将是 1False 将是 0 。因此,(obj['type'] == 'email_response') 的结果将与 resultcase_id 的当前值相加> 字典。

关于python - 如何查找字典列表中出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29113470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com