ArrayDict#

class openalea.metafspm.utils.ArrayDict(init=None, dtype=<class 'numpy.float64'>, init_capacity=0)[source]#

Bases: MutableMapping

Mapping[int -> float] backed by two aligned arrays:
  • order[i] = key at logical position i (sorted ascending, invariant)

  • arr[i] = value for order[i]

Also keeps a dict key -> current index for O(1) lookups/updates.

__init__(init=None, dtype=<class 'numpy.float64'>, init_capacity=0)[source]#

Methods

__init__([init, dtype, init_capacity])

assign_all(values)

assign_at(idxs, values)

check_invariant()

clear()

get(k[,d])

indices_of(vids)

items()

keys()

keys_array()

Keys (ascending).

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()

as a 2-tuple; but raise KeyError if D is empty.

reindex_sorted_inplace()

scatter(keys, values)

setdefault(k[,d])

to_dict()

update([E, ]**F)

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values()

values_array()

Values aligned with keys in ascending key order.

clear() None.  Remove all items from D.#
get(k[, d]) D[k] if k in D, else d.  d defaults to None.#
items() a set-like object providing a view on D's items#
keys() a set-like object providing a view on D's keys#
keys_array() ndarray[source]#

Keys (ascending).

pop(k[, d]) v, remove specified key and return the corresponding value.#

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() (k, v), remove and return some (key, value) pair#

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D#
update([E, ]**F) None.  Update D from mapping/iterable E and F.[source]#

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values() an object providing a view on D's values#
values_array() ndarray[source]#

Values aligned with keys in ascending key order.