Re: compare dictionary values
- From: rbt <rbt@xxxxxxxxxxxxxxxxx>
- Date: Fri, 30 Dec 2005 16:27:30 -0500
Marc 'BlackJack' Rintsch wrote:
In <dp4124$pki$1@xxxxxxxxxxxxxxxxx>, 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
Thanks Marc! I changed this line:
for (key, value) in new:
To this:
for (key, value) in new.iteritems():
And, it works great. Thanks again. .
- References:
- compare dictionary values
- From: rbt
- Re: compare dictionary values
- From: Marc 'BlackJack' Rintsch
- compare dictionary values
- Prev by Date: Re: python coding contest
- Next by Date: Re: Guido working on Pypy?
- Previous by thread: Re: compare dictionary values
- Next by thread: Tuning a select() loop for os.popen3()
- Index(es):
Relevant Pages
|