'Delete the item(s) at the specified index/slice.'

def __delitem__(self, index):

    if (not isinstance(index, (int, long, slice))):
        raise TypeError(('%s    is    not    a    legal    index' % index))
    origLen = len(self)
    if isinstance(index, (int, long)):
        index = self._checkindex(index)
        indexRange = [index]
    else:
        indexRange = range(*index.indices(origLen))
    newLen = (origLen - len(indexRange))
    newItems = (self._get_single_internal(i) for i in xrange(origLen) if (i not in indexRange))
    self._rebuild(newLen, newItems)
