iode.Scalars.__delitem__

Scalars.__delitem__(key)[source]

Remove the (subset of) scalar(s) referenced by key from the Scalars database.

Parameters:
key: str or list(str)

(list of) name(s) of the scalar(s) to be removed. The list of names can be given as a string pattern (e.g. “A*;*_”).

Examples

>>> from iode import SAMPLE_DATA_DIR
>>> from iode import scalars
>>> scalars.load(f"{SAMPLE_DATA_DIR}/fun.scl")
Loading .../fun.scl
161 objects loaded 
>>> # a) delete one scalar
>>> scalars.get_names("a*")
['acaf1', 'acaf2', 'acaf3', 'acaf4']
>>> del scalars["acaf4"]
>>> scalars.get_names("a*")
['acaf1', 'acaf2', 'acaf3']
>>> # b) delete several scalars at once using a pattern
>>> del scalars["a*"]
>>> scalars.get_names("a*")
[]
>>> # c) delete several scalars at once using a list of names
>>> scalars.get_names("g*")
['gamma0', 'gamma1', 'gamma2', 'gamma3', 'gamma4', 'gamma5', 'gamma_']
>>> del scalars[["gamma3", "gamma_"]]
>>> scalars.get_names("g*")
['gamma0', 'gamma1', 'gamma2', 'gamma4', 'gamma5']
>>> # delete one scalar from a subset of the global database
>>> scalars_subset = scalars["z*"]
>>> scalars_subset.names
['zkf1', 'zkf2', 'zkf3']
>>> del scalars_subset["zkf2"]
>>> scalars_subset.names
['zkf1', 'zkf3']
>>> # NOTE: the scalar has also been deleted from the global database
>>> "zkf2" in scalars
False
>>> scalars.get_names("z*")
['zkf1', 'zkf3']
>>> # store a scalar in a Python variable
>>> scl = scalars["zkf1"]
>>> scl
Scalar(0.201117, 1, 0.375671)
>>> # then delete it from the database
>>> del scalars["zkf1"]
>>> "zkf1" in scalars
False
>>> # NOTE: the Python variable 'scl' still contains the scalar object
>>> scl
Scalar(0.201117, 1, 0.375671)