NonemptyMapping¶
- class lsst.daf.butler.nonempty_mapping.NonemptyMapping(default_factory: Callable[[], _V])¶
Bases:
Mapping
[_K
,_V
]A
Mapping
that implicitly adds values (likedefaultdict
) but treats any that evaluate toFalse
as not present.- Parameters:
- default_factory
Callable
A callable that takes no arguments and returns a new instance of the value type.
- default_factory
Notes
Unlike
defaultdict
, this class implements onlycollections.abc.Mapping
, notMutableMapping
, and hence it can be modified only by invoking__getitem__
with a key that does not exist. It is expected that the value type will be a mutable container likeset
ordict
, and that an empty nested container should be considered equivalent to the absence of a key. The value type must have acopy
method that copies all mutable state.Methods Summary
copy
()Return a copy of the mapping.
get
()D.get(k[,d]) -> D[k] if k in D, else d.
Methods Documentation
- copy() NonemptyMapping[_K, _V] ¶
Return a copy of the mapping.
This deep-copies values while referencing the
default_factory
callback and keys.