gpt4 book ai didi

python - Python 中列表理解的错误处理

转载 作者:行者123 更新时间:2023-11-28 22:20:04 26 4
gpt4 key购买 nike

有没有办法处理 python 列表理解中的错误。最好我会有这样的东西,其中最后两个值由 None 表示:

values = [try i ["row"] except KeyError None for i in [{"row" : 1}, {"Row" : 0}, {}]]

这会引发语法错误,我能做到的唯一方法是:

values = []
for i in [{"row" : 1}, {"Row" : 0}, {}]:
try: values.append (i ["row"])
except KeyError: values.append (None)

我希望有一种更“简洁”的方法来做到这一点,因为当前的解决方案并不可取,因为当列表理解以如此好的方式做到这一点时,必须附加到空白列表!

最佳答案

您无法从列表理解中捕获异常 ( How can I handle exceptions in a list comprehension in Python? )。但考虑到你想要做什么,你可以使用 get:

values = [i.get("row") for i in [{"row" : 1}, {"Row" : 0}, {}]]

如果在字典中找不到该键get返回None,正是您要查找的内容(它可以返回您想要的任何内容,只需传递默认值作为第二个参数,请参阅 Why dict.get(key) instead of dict[key]? )

关于python - Python 中列表理解的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224363/

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