pathex.adts.containers.ordered_set module

class OrderedSet(queue=())[source]

Bases: Collection[pathex.adts.containers.ordered_set._T]

A set whose elements are ordered

>>> s = OrderedSet([1, 2, 3, 4, 3, 5])
>>> assert s is OrderedSet(s)
>>> assert s.as_set() == {1, 2, 3, 4, 5}
>>> assert s.as_tuple() == (1, 2, 3, 4, 5)
__eq__(other: object) bool[source]
>>> l = [1, 2, 3, 4]
>>> o = OrderedSet(l)
>>> assert o == [1, 2, 3, 4]
>>> assert o != [1, 2, 3, 4, 5]
>>> assert o != 25
static __new__(cls, queue=()) OrderedSet[pathex.adts.containers.ordered_set._T][source]
>>> s = OrderedSet([1, 2, 3, 4, 3, 5])
>>> assert s is OrderedSet(s)
>>> assert s.as_set() == {1, 2, 3, 4, 5}
>>> assert s.as_tuple() == (1, 2, 3, 4, 5)
add(element: pathex.adts.containers.ordered_set._T) None[source]
>>> x = OrderedSet()
>>> l = [3, 5, 2, 5, 6, 6]
>>> for e in l:
...     x.add(e)
>>> assert x.as_set() == set(l)
>>> assert x.as_tuple() == (3, 5, 2, 6)
addleft(element: pathex.adts.containers.ordered_set._T) None[source]
>>> x = OrderedSet()
>>> l = [3, 5, 2, 5, 6, 6]
>>> for e in l:
...     x.addleft(e)
>>> assert x.as_set() == set(l)
>>> assert x.as_tuple() == (6, 2, 5, 3)
append(element: pathex.adts.containers.ordered_set._T) None
>>> x = OrderedSet()
>>> l = [3, 5, 2, 5, 6, 6]
>>> for e in l:
...     x.add(e)
>>> assert x.as_set() == set(l)
>>> assert x.as_tuple() == (3, 5, 2, 6)
appendleft(element: pathex.adts.containers.ordered_set._T) None
>>> x = OrderedSet()
>>> l = [3, 5, 2, 5, 6, 6]
>>> for e in l:
...     x.addleft(e)
>>> assert x.as_set() == set(l)
>>> assert x.as_tuple() == (6, 2, 5, 3)
as_set() frozenset[~_T][source]
as_tuple() tuple[~_T, ...][source]
extend(other: Iterable[pathex.adts.containers.ordered_set._T])[source]
>>> o = OrderedSet([1, 2, 3])
>>> o.extend([3, 4, 5])
>>> assert o.as_tuple() == (1, 2, 3, 4, 5)
extendleft(other: Iterable[pathex.adts.containers.ordered_set._T])[source]
>>> o = OrderedSet([1, 2, 3])
>>> o.extendleft([3, 4, 5])
>>> assert o.as_tuple() == (5, 4, 1, 2, 3)
pop() pathex.adts.containers.ordered_set._T[source]
>>> l = [1, 2, 3, 4]
>>> x = OrderedSet(l)
>>> l1 = []
>>> while x:
...     l1.append(x.pop())
>>> assert list(reversed(l)) == l1
popleft() pathex.adts.containers.ordered_set._T[source]
>>> l = [1, 2, 3, 4]
>>> x = OrderedSet(l)
>>> l1 = []
>>> while x:
...     l1.append(x.popleft())
>>> assert l == l1
update(element: pathex.adts.containers.ordered_set._T) None
>>> x = OrderedSet()
>>> l = [3, 5, 2, 5, 6, 6]
>>> for e in l:
...     x.add(e)
>>> assert x.as_set() == set(l)
>>> assert x.as_tuple() == (3, 5, 2, 6)
updateleft(element: pathex.adts.containers.ordered_set._T) None
>>> x = OrderedSet()
>>> l = [3, 5, 2, 5, 6, 6]
>>> for e in l:
...     x.addleft(e)
>>> assert x.as_set() == set(l)
>>> assert x.as_tuple() == (6, 2, 5, 3)