gpt4 book ai didi

python - 是否可以异常返回?

转载 作者:行者123 更新时间:2023-11-30 23:18:57 25 4
gpt4 key购买 nike

我有一个如下所示的代码:

try:
a = form['a']
except KeyError:
pass
try:
b = form['b']
except KeyError:
pass
try:
c = form['c']
except KeyError:
pass
try:
d = form['d']
except KeyError:
pass

是否可以做这样的事情:

try:
a = form['a']
b = form['b']
c = form['c']
d = form['d']
except KeyError:
somekeyword

因此,如果表单中没有键“a”仍然有效,请尝试查找键“b”等

更新:对不起这是我的错。我需要保留所有值(value)观,而不仅仅是其中之一。所以我需要关键字或类似的东西来帮助我即使在异常引发后继续尝试 block 。

最佳答案

如果 form 是字典,您也可以使用 .get(key, [default])语法:

>>> form = {'d':5}
>>> form.get('a', form.get('b', form.get('c', form['d'])))
5

您可以通过使用一些迭代器使函数调用变得惰性:

>>> from itertools import dropwhile
>>> it = (form.get(k) for k in ['a', 'b', 'c', 'd'])
>>> next(dropwhile(lambda val: val is None, it))
5
<小时/>

编辑:如果您需要全部四个:

>>> a, b, c, d = map(form.get, ['a', 'b', 'c', 'd'])
>>> a, b, c, d
(None, None, None, 5)

关于python - 是否可以异常返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26423253/

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