gpt4 book ai didi

python - Python Dict 中错误消息的优先级

转载 作者:行者123 更新时间:2023-12-01 01:57:35 25 4
gpt4 key购买 nike

我进行 API 调用,如果出现问题,它们会返回错误列表:例如

[
{'field': u'currency', 'message': 'must be USD',
'request_pointer': '/customer_bank_accounts/currency'},
{'field': 'iban', 'message': 'is invalid',
'request_pointer': u'/customer_bank_accounts/iban'}]

我想向用户返回一个错误并确定错误的优先级。错误可以按任何顺序出现。

我知道我可以抛出整个列表来查找第一个错误,例如

for error in errors:
if error['message'] == 'is invalid' and error['field'] == 'iban'
return "error message 1"

for error in errors:
if error['message'] == 'is invalid' and error['field'] == 'country code'
return "error message 2"

但这是丑陋的代码,并且涉及多次彻底浏览列表。有更好的方法吗?

最佳答案

我非常喜欢使用字典作为输入。它们易于存储,提供 O(1) 查找,并确保您的输入与逻辑分离。

errors = [{'field': u'currency', 'message': 'must be USD', 
'request_pointer': '/customer_bank_accounts/currency'},
{'field': 'iban', 'message': 'is invalid',
'request_pointer': u'/customer_bank_accounts/iban'}]

error_dict = {('is invalid', 'iban'): 'error message 1',
('is invalid', 'country code'): 'error message 2'}

for idx, error in enumerate(errors):
key = (error['message'], error['field'])
if key in error_dict:
print(idx, error_dict[key])

关于python - Python Dict 中错误消息的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49987789/

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