Steve Holden <steve at holdenweb.com> wrote: > > 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 ... There was an example in the standard library that used "s.find(y) == s.rfind(y)" as a test for zero or 1 instances of the searched for item. Generally though, s.count(x)==1 is a better test. - Josiah
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