[Python-Dev] Search for empty substrings (was Re: Let's stop eating exceptions in dict lookup) (original) (raw)

Tim Peters tim.peters at gmail.com
Thu Jun 1 03:20:02 CEST 2006


[Fredrik Lundh]

would "abc".find("", 100) == 3 be okay? or should we switch to treating the optional start and end positions as "return value boundaries" (used to filter the result) rather than "slice directives" (used to process the source string before the operation)? it's all trivial to implement, and has no performance implications, but I'm not sure what the consensus really is...

FWIW, I like what you eventually did:

"ab".find("") 0 "ab".find("", 1) 1 "ab".find("", 2) 2 "ab".find("", 3) -1 "ab".rfind("") 2 "ab".rfind("", 1) 2 "ab".rfind("", 2) 2 "ab".rfind("", 3) -1

I don't know that a compelling argument can be made for such a seemingly senseless operation, but the behavior above is at least consistent with the rule that a string of length n has exactly n+1 empty substrings, at 0:0, 1:1, ..., and n:n.



More information about the Python-Dev mailing list