def setdefault(self, item, default=None):
        """A case insensitive setdefault.
        If no default is supplied it sets the item to None"""
        key = self.findkey(item)           # does the key exist
        if key != None: return self[key]
        self.__setitem__(item, default)
        self._keydict[item.lower()] = item
        return default
A case insensitive setdefault.
        If no default is supplied it sets the item to None
recipes/Python/283455_caselessDict/recipe-283455.py