Commit c1b6a4a1 authored by Raymond Hettinger's avatar Raymond Hettinger

Smalls improvement to example in the docs for collections ABCs.

parent 8eed4492
......@@ -43,10 +43,8 @@ ABC Notes
:class:`Iterable`,
and :class:`Sized`, and in addition
defines ``__getitem__()``, ``get()``,
``__contains__()``, ``__len__()``,
``__eq__()``, ``__ne__()``,
``__iter__()``, ``keys()``,
``items()``, and ``values()``
``keys()``, ``items()``, and ``values()``
:class:`collections.MutableMapping` Derived from :class:`Mapping`
:class:`collections.Sequence` Derived from :class:`Container`,
:class:`Iterable`, and :class:`Sized`,
......@@ -83,9 +81,13 @@ The ABC supplies the remaining methods such as :meth:`__and__` and
:meth:`isdisjoint` ::
class ListBasedSet(collections.Set):
'Alternate set implementation favoring space over speed'
''' Alternate set implementation favoring space over speed
and not requiring the set elements to be hashable. '''
def __init__(self, iterable):
self.elements = list(set(iterable))
self.elements = lst = []
for value in iterable:
if value not in lst:
lst.append(value)
def __iter__(self):
return iter(self.elements)
def __contains__(self, value):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment