我目前正在从api中删除一个列表,并根据严重性级别更改名称
现在我的代码是这样做的
priname = list((item['fields']['priority']['name']) for item in data['issues'])
priname = [w.replace('Trivial', 'Low')
.replace('Minor', 'Low')
.replace('Moderate', 'Medium')
.replace('Major', 'High')
.replace('Critical', 'High')
.replace('Blocker', 'Emergency')for w in priname]
Run Code Online (Sandbox Code Playgroud)
所以我只是将列表中的字符串替换为概括内容的关键字.当我对更大的列表执行此操作时,需要永远返回更改的列表,我意识到这意味着这根本不是一种有效的方法.
任何人都可以指出我可以简化这个发现和替换的方向吗?
编辑:
Priname=[
'Critical',
'Moderate',
'Major',
'Moderate',
'Moderate',
'Critical',
'Moderate',
'Moderate',
'Moderate',
'Blocker',
'Critical',
'Moderate',
'Moderate',
'Major',
'Moderate',
'Critical'
]
Run Code Online (Sandbox Code Playgroud)
你可以使用字典:
priname = [
'Critical',
'Moderate',
'Major',
'Moderate',
'Moderate',
'Critical',
'Moderate',
'Moderate',
'Moderate',
'Blocker',
'Critical',
'Moderate',
'Moderate',
'Major',
'Moderate',
'Critical'
]
table = {'Trivial': 'Low',
'Minor': 'Low',
'Moderate': 'Medium',
'Major': 'High',
'Critical': 'High',
'Blocker': 'Emergency'}
result = [table[e] for e in priname]
print(result)
Run Code Online (Sandbox Code Playgroud)
产量
['High', 'Medium', 'High', 'Medium', 'Medium', 'High', 'Medium', 'Medium', 'Medium', 'Emergency', 'High', 'Medium', 'Medium', 'High', 'Medium', 'High']
Run Code Online (Sandbox Code Playgroud)