[Python-Dev] Remove str.find in 3.0?
Steve Holden
steve at holdenweb.com
Wed Aug 31 06:50:12 CEST 2005
Guido van Rossum wrote:
> On 8/30/05, Andrew Durdin <adurdin at gmail.com> wrote:
[confusion]
>
>
> Hm. The example is poorly chosen because it's an end case. The
> invariant for both is (I'd hope!)
>
> "".join(s.partition()) == s == "".join(s.rpartition())
>
> Thus,
>
> "a/b/c".partition("/") returns ("a", "/", "b/c")
>
> "a/b/c".rpartition("/") returns ("a/b", "/", "c")
>
> That can't be confusing can it?
>
> (Just think of it as rpartition() stopping at the last occurrence,
> rather than searching from the right. :-)
>
So we can check that a substring x appears precisely once in the string
s using
s.partition(x) == s.rpartition(x)
Oops, it fails if s == "". I can usually find some way to go wrong ...
tongue-in-cheek-ly y'rs - steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/
More information about the Python-Dev
mailing list