input: def HashTable:
      """Implement a hash table in Python that supports insert, delete and retrieve operations.
      Example:
      table = HashTable()
      table.insert('key1', 'value1')
      table.retrieve('key1') == 'value1'
      table.delete('key1')
      table.retrieve('key1') == None
      """
output:     
      def __init__(self, size=10):
          self.size = size
          self.table = [None] * size
  
      def _hash(self, key):
          return hash(key) % self.size
  
      def insert(self, key, value):
          index = self._hash(key)
          if self.table[index] is None:
              self.table[index] = [(key, value)]
          else:
              for pair in self.table[index]:
                  if pair[0] == key:
                      pair[1] = value
                      return
              self.table[index].append((key, value))
  
      def retrieve(self, key):
          index = self._hash(key)
          if self.table[index] is not None:
              for pair in self.table[index]:
                  if pair[0] == key:
                      return pair[1]
          return None
  
      def delete(self, key):
          index = self._hash(key)
          if self.table[index] is not None:
              for i, pair in enumerate(self.table[index]):
                  if pair[0] == key:
                      del self.table[index][i]
                      return
  