[Python-Dev] Other library code transformations

Tim Peters tim.one@comcast.net
Fri, 31 May 2002 13:04:08 -0400


]Raymond Hettinger]
>> if item in astring --> if item in adict

[Guido]
> Huh?  What does this mean?

I assume the only point is speed.  Provided there are no collisions, "in" on
a character-keyed dict acting as a set is faster than "in" applied to a
string, even if the character searched for is the first character in the
target string.  But it's only a little faster then today.  It's about 50%
faster by the time you have to search ~= 50 characters into a string before
finding a hit.  However, most uses of "character in string" have very short
"string" parts (like "ch in '/\\'"), and I don't judge the minor speed gain
there worth the extra bother and obscurity of maintaining a static set
(dict).