compare dictionary values
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Fri Dec 30 16:06:28 EST 2005
In <dp4124$pki$1 at solaris.cc.vt.edu>, rbt wrote:
> What's a good way to compare values in dictionaries?
Look them up and then compare!? ;-)
> I want to find
> values that have changed. I look for new keys by doing this:
>
> new = [k for k in file_info_cur.iterkeys() if k not in
> file_info_old.iterkeys()]
> if new == []:
> print new, "No new files."
> else:
> print new, "New file(s)!!!"
>
> My key-values pairs are filepaths and their modify times. I want to
> identify files that have been updated or added since the script last ran.
This looks up each `key` from the `new` dictionary and compares the value
with the `old` one. If it's not equal or the key is not present in `old`
the key is appended to the `result`::
def new_and_changed_keys(old, new):
result = list()
for (key, value) in new:
try:
if old[key] != value:
result.append(key)
except KeyError:
result.append(key)
return result
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list