NamedValueSet¶
- class lsst.daf.butler.NamedValueSet(elements: Iterable[K] = ())¶
- Bases: - NameMappingSetView[- K],- NamedValueMutableSet[- K]- Custom mutable set class. - A custom mutable set class that requires elements to have a - .nameattribute, which can then be used as keys in- dict-like lookup.- Names and elements can both be used with the - inand- deloperators,- remove, and- discard. Names (but not elements) can be used with- []-based element retrieval (not assignment) and the- getmethod.- Parameters:
- elementscollections.abc.Iterable
- Iterable over elements to include in the set. 
 
- elements
- Raises:
- AttributeError
- Raised if one or more elements do not have a - .nameattribute.
 
 - Notes - Iteration order is guaranteed to be the same as insertion order (with the same general behavior as - dictordering). Like- dicts, sets with the same elements will compare as equal even if their iterator order is not the same.- Attributes Summary - Return set of names associated with the keys, in the same order. - Methods Summary - add(element)- Add an element to the set. - Return a mapping view with names as keys. - clear()- This is slow (creates N new iterators!) but effective. - copy()- Return a new - NamedValueSetwith the same elements.- discard(element)- Remove an element from the set if it exists. - freeze()- Disable all mutators. - get(key[, default])- Return the element with the given name. - isdisjoint(other)- Return True if two sets have a null intersection. - issubset(other)- issuperset(other)- pop(*args)- Remove and return an element from the set. - remove(element)- Remove an element from the set. - update(elements)- Add multiple new elements to the set. - Attributes Documentation - names¶
 - Methods Documentation - add(element: K) None¶
- Add an element to the set. - Parameters:
- elementtyping.Any
- The element to add. 
 
- element
- Raises:
- AttributeError
- Raised if the element does not have a - .nameattribute.
 
 
 - asMapping() Mapping[str, K_co]¶
- Return a mapping view with names as keys. - Returns:
- dictMapping
- A dictionary-like view with - values() == self.
 
- dict
 
 - copy() NamedValueSet[K]¶
- Return a new - NamedValueSetwith the same elements.
 - discard(element: str | K) Any¶
- Remove an element from the set if it exists. - Does nothing if no matching element is present. 
 - freeze() NamedValueAbstractSet[K]¶
- Disable all mutators. - Effectively transforming - selfinto an immutable set.- Returns:
- selfNamedValueAbstractSet
- While - selfis modified in-place, it is also returned with a type annotation that reflects its new, frozen state; assigning it to a new variable (and considering any previous references invalidated) should allow for more accurate static type checking.
 
- self
 
 - get(key: Any, default: Any = None) Any¶
- Return the element with the given name. - Parameters:
- keytyping.Any
- The name of the element to be requested. 
- defaulttyping.Any, optional
- The value returned if no such element is present. 
 
- key
- Returns:
- resulttyping.Any
- The value of the element. 
 
- result
 
 - isdisjoint(other)¶
- Return True if two sets have a null intersection. 
 - pop(*args: str) K¶
- Remove and return an element from the set. - Parameters:
- *argsstr, optional
- Name of the element to remove and return. Must be passed positionally. If not provided, an arbitrary element is removed and returned. 
 
- *args
- Raises:
- KeyError
- Raised if - nameis provided but- defaultis not, and no matching element exists.