rfind bug ?
clp2 at rebertia.com
Wed Apr 21 06:26:21 EDT 2010
On Wed, Apr 21, 2010 at 2:59 AM, Stef Mientki <stef.mientki at gmail.com> wrote:
> On 21-04-2010 10:56, Chris Rebert wrote:
>> On Wed, Apr 21, 2010 at 1:51 AM, Stef Mientki <stef.mientki at gmail.com> wrote:
>>> With the following code, I would expect a result of 5 !!
>>>>>> a= 'word1 word2 word3'
>>>>>> a.rfind(' ',7)
>>> Is this a bug ?
>> No. Don't you think someone would have found such an obvious bug by now?
> if it's not a bug,
> then the start index has no meaning ...
> ... and some would call that a bug.
Ah, I neglected to take your use of .rfind()'s second parameter into account!
As can be interpolated from the part of the docs James quotes:
s.rfind(' ', 7) === s[7:].rfind(' ') + 7 # overlooking the 'not present' case
That is, the second parameter to .rfind(), namely `start`, is relative
to the *left* end of the string, not the right end. I can see how this
might be unintuitive, but it does make the API more uniform.
More information about the Python-list