hpcflow.sdk.core.loop_cache.LoopIndex#
- class hpcflow.sdk.core.loop_cache.LoopIndex(map=None)#
Bases:
dict
[K
,V
],Generic
[K
,V
]Hashable dict implementation, suitable for use as a key into other dicts. Once used as a key, becomes immutable.
Example
>>> h1 = LoopIndex({"apples": 1, "bananas":2}) >>> h2 = LoopIndex({"bananas": 3, "mangoes": 5}) >>> h1+h2 LoopIndex(apples=1, bananas=3, mangoes=5) >>> d1 = {} >>> d1[h1] = "salad" >>> d1[h1] 'salad' >>> d1[h2] Traceback (most recent call last): ... KeyError: LoopIndex(bananas=3, mangoes=5)
Notes
Based on answers from http://stackoverflow.com/questions/1151658/python-hashable-dicts
Assumes both keys and values are hashable. True in practice.
Methods
Remove all items from the dict.
Return a shallow copy of the dict.
Create a new dictionary with keys from iterable and values set to value.
Return the value for key if key is in the dictionary, else default.
Return a set-like object providing a view on the dict's items.
Return a set-like object providing a view on the dict's keys.
If the key is not found, return the default if given; otherwise, raise a KeyError.
Remove and return a (key, value) pair as a 2-tuple.
Insert key with a value of default if key is not in the dictionary.
If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
Return an object providing a view on the dict's values.
- Parameters:
map (Mapping[K, V] | None) –
- clear()#
Remove all items from the dict.
- Return type:
None
- copy()#
Return a shallow copy of the dict.
- fromkeys(value=None, /)#
Create a new dictionary with keys from iterable and values set to value.
- get(key, default=None, /)#
Return the value for key if key is in the dictionary, else default.
- items()#
Return a set-like object providing a view on the dict’s items.
- keys()#
Return a set-like object providing a view on the dict’s keys.
- pop(k[, d]) v, remove specified key and return the corresponding value. #
If the key is not found, return the default if given; otherwise, raise a KeyError.
- Return type:
V
- popitem()#
Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
- Return type:
tuple[~K, ~V]
- setdefault(key, default)#
Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
- Parameters:
key (K) –
default (V) –
- Return type:
V
- update([E, ]**F) None. Update D from mapping/iterable E and F. #
If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
- Return type:
None
- values()#
Return an object providing a view on the dict’s values.