suggestions, comments on an "is_subdict" test

Vlastimil Brom vlastimil.brom at gmail.com
Fri Apr 22 15:55:23 CEST 2011


Hi all,
I'd like to ask for comments or advice on a simple code for testing a
"subdict", i.e. check whether all items of a given dictionary are
present in a reference dictionary.
Sofar I have:

def is_subdict(test_dct, base_dct):
    """Test whether all the items of test_dct are present in base_dct."""
    unique_obj = object()
    for key, value in test_dct.items():
        if not base_dct.get(key, unique_obj) == value:
            return False
    return True

I'd like to ask for possibly more idiomatic solutions, or more obvious
ways to do this. Did I maybe missed some builtin possibility?
I am unsure whether the check  against an unique object() or the
negated comparison are usual.?
(The builtin exceptions are ok, in case anything not dict-like is
passed. A cornercase like >>> is_subdict({}, 4)
>>> True
doesen't seem to be worth a special check just now.)

Thanks in advance for the suggestions,
  regards,
      vbr



More information about the Python-list mailing list