I just stared at this a long time:
'a' in 'a' # fine
'a' in 'a' == 1 # what?
'a' in 'b' # fine
'a' in 'b' == 0 # what?
It's "correct". I've been using Python longer than Guido <wink>, and I'm amazed this is the first time I got bit by this! Here's a hint:
'a' in 'a' == 'a'
thank-god-for-dis.dis-ly y'rs - tim
Yeah, I ran into the same when converting some has_key() tests to using 'in'. 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"...
--Guido van Rossum (home page: http://www.python.org/%7Eguido/)