[Tim, 'a' in 'a' == 1, etc] [Guido] > Yeah, I ran into the same when converting some has_key() tests to > using 'in'. Bingo! Same here, but after adding __iter__ and __contains__ to UserDict.py, then fiddling test_userdict.py to match. > I guess it's not very common since nobody in their right minds should > want to compare the result of an 'in' test to anything else. The > has_key() tests did something like "assert d.has_key(k)==1" > and the mindless translation of that is "assert k in d == 1"... You'd think so <wink>. It was subtler in the first I bumped into, translating something like assert d1.has_key(k) == d2.has_key(k) The problem in assert k in d1 == k in d2 is, I think, harder to spot. That is, you may well be in your right might if you want to compare the result of an 'in' test to the result of *another* 'in' test! Even stranger, assert k in d1 != k in d2 succeeds if and only if k is in both d1 and d2 (assuming d1 is a dict and k isn't). I'm going to use that a lot in my code, because it's one less character than typing assert k in d1 and k in d2 Heh heh. *something*-about-this-may-not-be-ideal-ly y'rs - tim
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4