def update(self, *args, **kwargs):
        """
        Update the dictionary with the key/value pairs from *other*, overwriting
        existing keys.

        *update* accepts either another dictionary object or an iterable of
        key/value pairs (as a tuple or other iterable of length two).  If
        keyword arguments are specified, the dictionary is then updated with
        those key/value pairs: ``d.update(red=1, blue=2)``.
        """
        if not self:
            self._dict_update(*args, **kwargs)
            self._list_update(self._iter())
            return

        if not kwargs and len(args) == 1 and isinstance(args[0], dict):
            pairs = args[0]
        else:
            pairs = dict(*args, **kwargs)

        if (10 * len(pairs)) > len(self):
            self._dict_update(pairs)
            self._list_clear()
            self._list_update(self._iter())
        else:
            for key in pairs:
                self[key] = pairs[key]
def update ( self , * args , ** kwargs ) : if not self : self . _dict_update ( * args , ** kwargs ) self . _list_update ( self . _iter ( ) ) return if not kwargs and len ( args ) == 1 and isinstance ( args [ 0 ] , dict ) : pairs = args [ 0 ] else : pairs = dict ( * args , ** kwargs ) if ( 10 * len ( pairs ) ) > len ( self ) : self . _dict_update ( pairs ) self . _list_clear ( ) self . _list_update ( self . _iter ( ) ) else : for key in pairs : self [ key ] = pairs [ key ]
Update the dictionary with the key/value pairs from *other*, overwriting
        existing keys.

        *update* accepts either another dictionary object or an iterable of
        key/value pairs (as a tuple or other iterable of length two).  If
        keyword arguments are specified, the dictionary is then updated with
        those key/value pairs: ``d.update(red=1, blue=2)``.