classDiagram class Container { <<abstract>> +__contains__() } class Iterable { <<abstract>> +__iter__() } class Iterator { <<abstract>> +__next__() } class Reversible { <<abstract>> +__reversed__() } class Sized { <<abstract>> +__len__() } class Collection { <<abstract>> } class Sequence { <<abstract>> +__getitem__() +index() +count() } class MutableSequence { <<abstract>> +__setitem__() +__delitem__() +__len__() +insert() +append() +clear() +reverse() +extend() +pop() +remove() +__iadd__() } class Set { <<abstract>> +__le__() +__lt__() +__eq__() +__ne__() +__gt__() +__ge__() +__and__() +__or__() +__sub__() +__xor__() +isdisjoint() } class MutableSet { <<abstract>> +add() +discard() +clear() +pop() +remove() +__ior__() +__iand__() +__ixor__() +__isub__() } class Mapping { <<abstract>> +__getitem__() +keys() +items() +values() +get() +__eq__() +__ne__() } class MutableMapping { <<abstract>> +__setitem__() +__delitem__() +pop() +popitem() +clear() +update() +setdefault() } class str { ... } class bytes { ... } Iterable <|-- Iterator Iterable <|-- Reversible Sized <|-- Collection Iterable <|-- Collection Container <|-- Collection Reversible <|-- Sequence Collection <|-- Sequence Sequence <|-- MutableSequence Collection <|-- Mapping Mapping <|-- MutableMapping MutableSequence <-- list Sequence <-- tuple Sequence <-- range Sequence <-- str Sequence <-- bytes MutableMapping <-- dict Collection <|-- Set Set <|-- MutableSet MutableSet <-- set Set <-- frozenset