specify what is to happen with parameter values without "natural" meaning, e.g., index smaller zero or not smaller count.
- provide docstrings for classes (and modules), too
[especially] insert, find, replace, at_index
insertfails to updatecountfind,replace:replacemight use_find. Withqualitysatisfied with more than one node'sdata, both are underspecified._at_index: ifcount/2<index<count, walk backwards
(it may be useful to allow indices from-count(even withat_indexor generally) - cf. slicing)deletelooks non-adapted from a singly-linked list implementation
should use_at_indexreverse: how about transmuting to an instance ofListLinkedDoubly, with roles ofnextandlast(&head/tail) exchanged__str__:return '[]' if 0 == self.count \
else '[<-(' + ')<=>('.join(self.items()) + ')->]'