我想知道如何在尝试访问超出范围的列表时(例如,尝试从不存在的字典中获取键)而不是返回错误,而返回类似False的值。有人知道一种方法吗?
对于一本字典,你可以使用一个defaultdict
从collections
模块IE:
from collections import defaultdict
my_dict = defaultdict(lambda: False)
my_dict['test'] # This will be False
您可以defaultdict
在文档中了解更多信息
但是,对于列表而言,它变得更加复杂,对其进行细分list
并覆盖__getitem__
将调用包装在try / except子句中并返回不同值的方法:
class defaultlist(list):
def __getitem__(self, key):
try:
return super().__getitem__(key)
except IndexError:
return False
my_list = defaultlist()
my_list[10] # This will be False
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句