input: 
  def implement_hashtable():
      """ Implement a hash table in Python that supports insert, delete, and retrieve operations.
      >>> ht = HashTable()
      >>> ht.insert('key1', 'value1')
      >>> ht.retrieve('key1')
      'value1'
      >>> ht.insert('key2', 'value2')
      >>> ht.delete('key1')
      >>> ht.retrieve('key1')
      >>> ht.retrieve('key2')
      'value2'
      """
      pass
  
output:     
      class HashTable:
          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
  