I prefer to focus on "clearer" and "less error-prone" rather than "faster" in most cases.
I do agree it's a minor embarrassment that s.startswith(t) is slower than s[:len(t)]==t; but I think we should make startswith() faster rather than recommending the other idiom. (Also, for longer substrings startswith wins -- but admittedly rather long, like 300 chracters.) --Guido On 8/25/06, Fredrik Lundh <[EMAIL PROTECTED]> wrote: > Guido van Rossum wrote: > > > (*) I found an example of code testing "if string.find(s, t) != 0", > > thinking it was a bug attempting to write "if t in s", but which Vinay > > identified as a 1.5.2 idiom for "if not s.startswith(t)"... > > and as noted on the py3k list, not a very good one, given that the usual > way to write that under 1.5.2 is a lot faster (*). > > </F> > > *) even faster than "startswith", in many cases. > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/guido%40python.org > -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com