input: Write a function to implement a compressed data structure with insert, search, and delete methods.
  assert d.insert("a", 1) == None
  assert d.insert("b", 2) == None
  assert d.search("a") == 1
  assert d.search("b") == 2
  assert d.delete("a") == None
  assert d.search("a") == KeyError
output: class CompressedDataStructure:
      def __init__(self):
          self.data = {}
  
      def insert(self, key, value):
          self.data[key] = value
  
      def search(self, key):
          if key in self.data:
              return self.data[key]
          else:
              raise KeyError(f"Key '{key}' not found.")
  
      def delete(self, key):
          if key in self.data:
              del self.data[key]
          else:
              raise KeyError(f"Key '{key}' not found.")
  
  # Create an instance of CompressedDataStructure
  d = CompressedDataStructure()