Movatterモバイル変換
[0]ホーム
[Python-Dev] Remove str.find in 3.0?
Josiah Carlsonjcarlson at uci.edu
Wed Aug 31 07:30:58 CEST 2005
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
More information about the Python-Devmailing list
[8]ページ先頭