input: 
  def HashTable():
      """ Implement a hash table in Python that supports insert, delete and retrieve operations.
      >>> h = HashTable()
      >>> h.insert('a', 1)
      >>> h.insert('b', 2)
      >>> h.retrieve('a')
      1
      >>> h.retrieve('b')
      2
      >>> h.delete('a')
      >>> h.retrieve('a')
      None
      >>> h.retrieve('b')
      2
      """
  
output:     
      def __init__(self):
          self.size = 10
          self.table = [[] for _ in range(self.size)]
  
      def _hash(self, key):
          return hash(key) % self.size
  
      def insert(self, key, value):
          index = self._hash(key)
          for kvp in self.table[index]:
              if kvp[0] == key:
                  kvp[1] = value
                  return
          self.table[index].append([key, value])
  
      def retrieve(self, key):
          index = self._hash(key)
          for kvp in self.table[index]:
              if kvp[0] == key:
                  return kvp[1]
          return None
  
      def delete(self, key):
          index = self._hash(key)
          for i, kvp in enumerate(self.table[index]):
              if kvp[0] == key:
                  del self.table[index][i]
                  return
  