def delete(self, start=None, stop=None):
		"""Delete the range from start to stop from self.

		Raises:
			KeyError: If part of the passed range isn't mapped.
		"""
		_check_start_stop(start, stop)
		start_loc = self._bisect_right(start) - 1
		if stop is None:
			stop_loc = len(self._keys)
		else:
			stop_loc = self._bisect_left(stop)
		for value in self._values[start_loc:stop_loc]:
			if value is NOT_SET:
				raise KeyError((start, stop))
		# this is inefficient, we've already found the sub ranges
		self.set(NOT_SET, start=start, stop=stop)
def delete ( self , start = None , stop = None ) : _check_start_stop ( start , stop ) start_loc = self . _bisect_right ( start ) - 1 if stop is None : stop_loc = len ( self . _keys ) else : stop_loc = self . _bisect_left ( stop ) for value in self . _values [ start_loc : stop_loc ] : if value is NOT_SET : raise KeyError ( ( start , stop ) ) self . set ( NOT_SET , start = start , stop = stop )
Delete the range from start to stop from self.

		Raises:
			KeyError: If part of the passed range isn't mapped.