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

Methods

clear

Remove all items from the dict.

copy

Return a shallow copy of the dict.

fromkeys

Create a new dictionary with keys from iterable and values set to value.

get

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

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem

Remove and return a (key, value) pair as a 2-tuple.

setdefault

Insert key with a value of default if key is not in the dictionary.

update

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]

values

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.