SymmetricPairMapping

class PlasmaCalcs.tools.iterables.SymmetricPairMapping(mapping={})

Bases: object

mapping with keys pairs, where order of the pair doesn’t matter.

mapping: dict of {(obj1, obj2): value}

The keys (obj2, obj1) and (obj1, obj2) will be treated the same way,
when getting/setting/deleting items, and when checking if key in self.
[EFF] For efficiency, only stores one of these pairs (the one where obj1 <= obj2).

Methods

__iter__()

iterate over self.items (not self.keys).

clear()

remove all known items from self.

copy()

return a shallow copy of self.

items()

keys()

pop(key, default)

remove self[key], and return its value.

update(other)

update self with other.

values()

_sanitize_key(key)

return sanitized key (obj1, obj2) such that obj1 <= obj2.

__iter__()

iterate over self.items (not self.keys).

_sanitize_key(key)

return sanitized key (obj1, obj2) such that obj1 <= obj2.

clear()

remove all known items from self.

copy()

return a shallow copy of self.

pop(key, default)

remove self[key], and return its value. if key not in self, return default.

update(other)

update self with other.

other: dict of {(obj1, obj2): value}