Re:Lily: An interpreted language with a focus on expressiven...
by cpeterso on Thursday July 19, 2018 @04:36PM
(#17570024)
You can use dict's get() method to get back a None for missing keys instead of throwing a KeyError exception. That avoids the overhead of checking `if key in dict` or catching KeyError.
[ Parent
| on HN ]
Re:Lily: An interpreted language with a focus on expressiven...
by wool_gather on Thursday July 19, 2018 @05:02PM
(#17570229)
Another option, it's very easy to wrap a dict in a defaultdict:
class optionaldict(defaultdict):
"""
A defaultdict that disregards KeyErrors and returns None for missing keys.
"""
def __init__(self, *original, **kwargs):
super().__init__(lambda: None, *original, **kwargs)