class_docstr: A dictionary-like object that is customized to deal with multiple
  values for the same key.
  
  Each value in this dictionary will be a list. Methods which emulate
  the methods of a standard Python ``dict`` object will return or manipulate
  the first items of the lists only. Special methods are provided to
  deal with keys having multiple values.
class_docstr_tok: ["A","dictionary-like","object","that","is","customized","to","deal","with","multiple","values","for","the","same","key",".","Each","value","in","this","dictionary","will","be","a","list",".","Methods","which","emulate","the","methods","of","a","standard","Python","``","dict","``","object","will","return","or","manipulate","the","first","items","of","the","lists","only",".","Special","methods","are","provided","to","deal","with","keys","having","multiple","values","."]
code: def update(self, arg, **kwds):
      if hasattr(arg, "keys") and callable(arg.keys):
          for key in arg.keys():
              self.add(key, arg[key])
      else:
          for key, value in arg:
              self.add(key, value)
      for key, value in kwds.items():
          self.add(key, value)
  
imports: from contextlib import contextmanager
  from collections.abc import MutableMapping
  from itertools import chain
  from warnings import warn
  import os
  import tempfile
label_desc: Use image node_id 14 for calling the multidict obj's underlying member method code with example usage: obj.update(arg) without return types