'Insert a new individual in the hall of fame using the
:func:`~bisect.bisect_right` function. The inserted individual is
inserted on the right side of an equal individual. Inserting a new
individual in the hall of fame also preserve the hall of fame\'s order.
This method **does not** check for the size of the hall of fame, in a
way that inserting a new individual in a full hall of fame will not
remove the worst individual to maintain a constant size.
:param item: The individual with a fitness attribute to insert in the
hall of fame.'

def insert(self, item):

    item = deepcopy(item)
    i = bisect_right(self.keys, item.fitness)
    self.items.insert((len(self) - i), item)
    self.keys.insert(i, item.fitness)
