Strategy for determing difference between 2 very large dictionaries

python at python at
Wed Dec 24 08:16:36 CET 2008

I'm looking for suggestions on the best ('Pythonic') way to
determine the difference between 2 very large dictionaries
containing simple key/value pairs.
By difference, I mean a list of keys that are present in the
first dictionary, but not the second. And vice versa. And a list
of keys in common between the 2 dictionaries whose values are
The 2 strategies I'm considering are:
1. Brute force: Iterate through first dictionary's keys and
determine which keys it has that are missing from the second
dictionary. If keys match, then verify that the 2 dictionaries
have identical values for the same key. Repeat this process for
the second dictionary.
2. Use sets: Create sets from each dictionary's list of keys and
use Python's set methods to generate a list of keys present in
one dictionary but not the other (for both dictionaries) as well
as a set of keys the 2 dictionaries have in common. Using the set
of keys in common, compare values across dictionaries to
determine which keys have different values (can this last step be
done via a simple list comprehension?)
Feedback on my proposed strategies (or better strategies) would
be greatly appreciated.
Thank you,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list