当字典的键和值都无法预知的情况

  • 当字典的键和值都没法确定的时候,我使用了下面的方法
data_list = [
{
'service': 'groupserver',
'deploy_action': 'release',
},
{
'service': 'groupserver',
'deploy_action': 'rollback',
},
{
'service': 'connector',
'deploy_action': 'release',
},
{
'service': 'imserver',
'deploy_action': 'rollback',
},
{
'service_test': 'imserver_test',
'deploy_action_test': 'rollback_test',
},
]

result = dict()

for dict in data_list:

key = dict.get("service","error")

# 判断值是否加 1
value1 = dict.get("deploy_action",0) == 'release' and 1 or 0
value2 = dict.get("deploy_action",0) == 'rollback' and 1 or 0

# 为键设置默认值
base = result.get(dict.get("service"),[0,0])

# 为键设置值
result[key] = [base[0] + value1 , base[1] + value2]

print(result)

# 结果
# {'groupserver': [1, 1], 'connector': [1, 0], 'imserver': [0, 1], 'error': [0, 0]}