我有一个列表,其中某些项目没有像这样的属性item["transitioned_to"] = 'Ended'
,我想计算有多少项目缺少此值。
我只能计算有多少个项目具有“ Ended”属性:data_filtered = list(filter(lambda x: x['transitioned_to'] == "Ended", steps))
-每个项目Ended
都相对于single execution_id
。
如何汇总此列表execution_sid
并计算缺少多少项item["transitioned_to"] = 'Ended'
?
作为输入示例:
[{
'execution_sid': 'sid1',
'transitioned_from': 'step_a',
'transitioned_to': 'step_b',
}, {
'execution_sid': 'sid1',
'transitioned_from': 'step_b',
'transitioned_to': 'Ended',
}, {
'execution_sid': 'sid2',
'transitioned_from': 'step_a',
'transitioned_to': 'step_b',
}]
在此示例中,每种情况下应返回1:1已结束,1已结束。可以使用python执行此计数吗?
from collections import defaultdict
lst = [{'execution_sid': 'sid1', 'transitioned_from': 'step_a', 'transitioned_to': 'step_b', },
{'execution_sid': 'sid1', 'transitioned_from': 'step_b', 'transitioned_to': 'Ended', },
{'execution_sid': 'sid2', 'transitioned_from': 'step_a', 'transitioned_to': 'step_b', }]
res = defaultdict(int)
for d in lst:
res[d['execution_sid']] += d['transitioned_to'] != 'Ended'
print(dict(res))
输出(按汇总execution_sid
):
{'sid1': 1, 'sid2': 1}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句