Iteritems on a slice of a Python list
Instead of 

range(slice.start,slice.stop,slice.step) 


you could use this expression that handles the special cases too

range(len(self))[slice]


(This works with range on both Python 2 and 3, but not with Python 2 xrange even though it is mostly equivalent to Python 3 range)