Dennis Lee Bieber > Sent: Saturday, December 31, 2016 7:29 PM > > On Sat, 31 Dec 2016 14:35:46 -0800, "Deborah Swanson" > <pyt...@deborahswanson.net> declaimed the following: > > >Here's the function I have so far: > > > >def comprows(l1,l2,st,ki,no): > > ret = '' > > labels = {st: 'st/co', ki: 'kind', no: 'notes'} > > for v in (st,ki,no): > > if len(l1[v]) == 0 and len(l2[v]) != 0: > > l1[v] = l2[v] > > elif len(l2[v]) == 0 and len(l1[v]) != 0: > > l2[v] = l1[v] > > elif l1[v] != l2[v]: > > ret += ", " + labels[v] + " diff" if len(ret) > 0 else > > labels[v] + " diff" > > return ret > > > > Now, out of all that, which is the most likely one to > be activated? Granted, it's too early to be considering > optimizations, but... If you expect the common situation to > be the "l1 != l2", the order of your tests means you do two > failing tests before getting to the most likely version. > -- > Wulfraed Dennis Lee Bieber AF6VN > wlfr...@ix.netcom.com HTTP://wlfraed.home.netcom.com/
I see what you're saying, but actually it's fairly rare that l1[v] and l2[v] are different. I just need to catch it and look at it when they are. It usually means that either the spelling/typing in the listing was wrong and my code didn't fix it, or in rarer cases (now), my code is buggy. I probably won't ever be able to dispense with this test since people are always typoing. They don't always copy from their previous listings and sometimes it looks like they're trying to retype it from memory, and messing up. D. -- https://mail.python.org/mailman/listinfo/python-list