Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-09-03 Thread Scott David Daniels
Bengt Richter wrote: On Wed, 31 Aug 2005 14:16:28 GMT, Ron Adam [EMAIL PROTECTED] wrote: [...] The problem with negative index's are that positive index's are zero based, but negative index's are 1 based. Which leads to a non symmetrical situations. Although it is _way_ too late to try

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-09-03 Thread Ron Adam
Bengt Richter wrote: IMO the problem is that the index sign is doing two jobs, which for zero-based reverse indexing have to be separate: i.e., to show direction _and_ a _signed_ offset which needs to be realtive to the direction and base position. Yes, that's definitely part of it. A

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-09-02 Thread Bengt Richter
On Wed, 31 Aug 2005 14:16:28 GMT, Ron Adam [EMAIL PROTECTED] wrote: [...] The problem with negative index's are that positive index's are zero based, but negative index's are 1 based. Which leads to a non symmetrical situations. Note that you can insert an item before the first item using

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-09-01 Thread Stefan Rank
[snipped alot from others about indexing, slicing problems, and the inadequacy of -1 as Not Found indicator] on 31.08.2005 16:16 Ron Adam said the following: The problem with negative index's are that positive index's are zero based, but negative index's are 1 based. Which leads to a non

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-31 Thread Antoon Pardon
Op 2005-08-30, Steve Holden schreef [EMAIL PROTECTED]: Antoon Pardon wrote: Op 2005-08-29, Steve Holden schreef [EMAIL PROTECTED]: Antoon Pardon wrote: Op 2005-08-27, Steve Holden schreef [EMAIL PROTECTED]: If you want an exception from your code when 'w' isn't in the string you should

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-31 Thread Antoon Pardon
Op 2005-08-30, Bengt Richter schreef [EMAIL PROTECTED]: On 30 Aug 2005 10:07:06 GMT, Antoon Pardon [EMAIL PROTECTED] wrote: Op 2005-08-30, Terry Reedy schreef [EMAIL PROTECTED]: Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Really it's x[-1]'s behavior

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-31 Thread Bengt Richter
On 31 Aug 2005 07:26:48 GMT, Antoon Pardon [EMAIL PROTECTED] wrote: Op 2005-08-30, Bengt Richter schreef [EMAIL PROTECTED]: On 30 Aug 2005 10:07:06 GMT, Antoon Pardon [EMAIL PROTECTED] wrote: Op 2005-08-30, Terry Reedy schreef [EMAIL PROTECTED]: Paul Rubin http://phr.cx@NOSPAM.invalid wrote

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-31 Thread Antoon Pardon
Op 2005-08-31, Bengt Richter schreef [EMAIL PROTECTED]: On 31 Aug 2005 07:26:48 GMT, Antoon Pardon [EMAIL PROTECTED] wrote: Op 2005-08-30, Bengt Richter schreef [EMAIL PROTECTED]: On 30 Aug 2005 10:07:06 GMT, Antoon Pardon [EMAIL PROTECTED] wrote: Op 2005-08-30, Terry Reedy schreef [EMAIL

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-31 Thread Bryan Olson
Paul Rubin wrote: Not every sequence needs __len__; for example, infinite sequences, or sequences that implement slicing and subscripts by doing lazy evaluation of iterators: digits_of_pi = memoize(generate_pi_digits()) # 3,1,4,1,5,9,2,... print digits_of_pi[5] # computes 6

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-31 Thread Ron Adam
Antoon Pardon wrote: Op 2005-08-31, Bengt Richter schreef [EMAIL PROTECTED]: On 31 Aug 2005 07:26:48 GMT, Antoon Pardon [EMAIL PROTECTED] wrote: Op 2005-08-30, Bengt Richter schreef [EMAIL PROTECTED]: On 30 Aug 2005 10:07:06 GMT, Antoon Pardon [EMAIL PROTECTED] wrote: Op 2005-08-30, Terry

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Paul Rubin
Terry Reedy [EMAIL PROTECTED] writes: The fact that the -1 return *has* lead to bugs in actual code is the primary reason Guido has currently decided that find and rfind should go. A careful review of current usages in the standard library revealed at least a couple bugs even there. Really

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-30 Thread Antoon Pardon
Op 2005-08-29, Steve Holden schreef [EMAIL PROTECTED]: Antoon Pardon wrote: Op 2005-08-27, Steve Holden schreef [EMAIL PROTECTED]: If you want an exception from your code when 'w' isn't in the string you should consider using index() rather than find. Sometimes it is convenient to have

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Bryan Olson
Steve Holden wrote: I'm all in favor of discussions to make 3.0 a better language. This one should definitely be two-phase. First, the non-code- breaking change that replaces-and-deprecates the warty handling of negative indexes, and later the removal of the old style. For the former, there's

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Antoon Pardon
Op 2005-08-29, Steven Bethard schreef [EMAIL PROTECTED]: Antoon Pardon wrote: I think a properly implented find is better than an index. See the current thread in python-dev[1], which proposes a new method, str.partition(). I believe that Raymond Hettinger has shown that almost all uses

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Terry Reedy
Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Really it's x[-1]'s behavior that should go, not find/rfind. I complete disagree, x[-1] as an abbreviation of x[len(x)-1] is extremely useful, especially when 'x' is an expression instead of a name. But even if

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Paul Rubin
Terry Reedy [EMAIL PROTECTED] writes: Really it's x[-1]'s behavior that should go, not find/rfind. I complete disagree, x[-1] as an abbreviation of x[len(x)-1] is extremely useful, especially when 'x' is an expression instead of a name. There are other abbreviations possible, for example

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Bryan Olson
Terry Reedy wrote: Paul Rubin wrote: Really it's x[-1]'s behavior that should go, not find/rfind. I complete disagree, x[-1] as an abbreviation of x[len(x)-1] is extremely useful, especially when 'x' is an expression instead of a name. Hear us out; your disagreement might not be so

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Paul Rubin
Bryan Olson [EMAIL PROTECTED] writes: Specifically, to support new-style slicing, a class that accepts index or slice arguments to any of: __getitem__ __setitem__ __delitem__ __getslice__ __setslice__ __delslice__

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Antoon Pardon
Op 2005-08-30, Terry Reedy schreef [EMAIL PROTECTED]: Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Really it's x[-1]'s behavior that should go, not find/rfind. I complete disagree, x[-1] as an abbreviation of x[len(x)-1] is extremely useful, especially

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Robert Kern
Bryan Olson wrote: Currently, user-defined classes can implement Python subscripting and slicing without implementing Python's len() function. In our proposal, the '$' symbol stands for the sequence's length, so classes must be able to report their length in order

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Antoon Pardon
Op 2005-08-30, Robert Kern schreef [EMAIL PROTECTED]: Bryan Olson wrote: Currently, user-defined classes can implement Python subscripting and slicing without implementing Python's len() function. In our proposal, the '$' symbol stands for the sequence's length, so

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Robert Kern
Antoon Pardon wrote: Op 2005-08-30, Robert Kern schreef [EMAIL PROTECTED]: Bryan Olson wrote: Currently, user-defined classes can implement Python subscripting and slicing without implementing Python's len() function. In our proposal, the '$' symbol stands for the

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Bryan Olson
Robert Kern wrote: Bryan Olson wrote: Currently, user-defined classes can implement Python subscripting and slicing without implementing Python's len() function. In our proposal, the '$' symbol stands for the sequence's length, so classes must be able to report their

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Robert Kern
Bryan Olson wrote: Robert Kern wrote: from Numeric import * A = array([[0, 1], [2, 3], [4, 5]]) A[$-1, $-1] The result of len(A) has nothing to do with the second $. I think you have a good observation there, but I'll stand by my correctness. len() cannot be used to

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread phil hunt
On Tue, 30 Aug 2005 08:53:27 GMT, Bryan Olson [EMAIL PROTECTED] wrote: Specifically, to support new-style slicing, a class that accepts index or slice arguments to any of: __getitem__ __setitem__ __delitem__ __getslice__ __setslice__

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-30 Thread Steve Holden
Antoon Pardon wrote: Op 2005-08-29, Steve Holden schreef [EMAIL PROTECTED]: Antoon Pardon wrote: Op 2005-08-27, Steve Holden schreef [EMAIL PROTECTED]: If you want an exception from your code when 'w' isn't in the string you should consider using index() rather than find. Sometimes it is

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Bengt Richter
On Tue, 30 Aug 2005 08:53:27 GMT, Bryan Olson [EMAIL PROTECTED] wrote: [...] Specification We propose a new style of slicing and indexing for Python sequences. Instead of: sequence[start : stop : step] new-style slicing uses the syntax: sequence[start ; stop ;

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Bengt Richter
On Tue, 30 Aug 2005 11:56:24 GMT, Bryan Olson [EMAIL PROTECTED] wrote: Robert Kern wrote: Bryan Olson wrote: Currently, user-defined classes can implement Python subscripting and slicing without implementing Python's len() function. In our proposal, the '$' symbol stands

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-30 Thread Bengt Richter
On 30 Aug 2005 10:07:06 GMT, Antoon Pardon [EMAIL PROTECTED] wrote: Op 2005-08-30, Terry Reedy schreef [EMAIL PROTECTED]: Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Really it's x[-1]'s behavior that should go, not find/rfind. I complete disagree, x[-1]

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-29 Thread Magnus Lycka
Robert Kern wrote: If I may digress for a bit, my advisor is currently working on a project that is processing seafloor depth datasets starting from a few decades ago. A lot of this data was orginally to be processed using FORTRAN software, so in the idiom of much FORTRAN software from those

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-29 Thread Antoon Pardon
Op 2005-08-27, Terry Reedy schreef [EMAIL PROTECTED]: Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Terry Reedy [EMAIL PROTECTED] writes: The try/except pattern is a pretty basic part of Python's design. One could say the same about clutter for *every*

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-29 Thread Antoon Pardon
Op 2005-08-27, Steve Holden schreef [EMAIL PROTECTED]: If you want an exception from your code when 'w' isn't in the string you should consider using index() rather than find. Sometimes it is convenient to have the exception thrown at a later time. Otherwise, whatever find() returns you

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-29 Thread Robert Kern
Magnus Lycka wrote: Robert Kern wrote: If I may digress for a bit, my advisor is currently working on a project that is processing seafloor depth datasets starting from a few decades ago. A lot of this data was orginally to be processed using FORTRAN software, so in the idiom of much FORTRAN

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-29 Thread Steven Bethard
Antoon Pardon wrote: I think a properly implented find is better than an index. See the current thread in python-dev[1], which proposes a new method, str.partition(). I believe that Raymond Hettinger has shown that almost all uses of str.find() can be more clearly be represented with his

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-29 Thread Steve Holden
Antoon Pardon wrote: Op 2005-08-27, Steve Holden schreef [EMAIL PROTECTED]: If you want an exception from your code when 'w' isn't in the string you should consider using index() rather than find. Sometimes it is convenient to have the exception thrown at a later time. Otherwise,

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-29 Thread Terry Reedy
Steve Holden [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Antoon Pardon wrote: So what happens if you have a module that is collecting string-index pair, colleted from various other parts. In one part you want to select the last letter, so you pythonically choose -1 as index.

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-28 Thread Bryan Olson
Steve Holden wrote: Paul Rubin wrote: We are arguing about trivialities here. Let's stop before it gets interesting :-) Some of us are looking beyond the trivia of what string.find() should return, at an unfortunate interaction of Python features, brought on by the special-casing of

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-28 Thread Steve Holden
Bryan Olson wrote: Steve Holden wrote: Paul Rubin wrote: We are arguing about trivialities here. Let's stop before it gets interesting :-) Some of us are looking beyond the trivia of what string.find() should return, at an unfortunate interaction of Python features, brought on by

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-27 Thread Terry Reedy
Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Steve Holden [EMAIL PROTECTED] writes: Of course. But onc you (sensibly) decide to use an if then there really isn't much difference between -1, None, () and sys.maxint as a sentinel value, is there? Of course

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-27 Thread Bryan Olson
Steve Holden wrote: Bryan Olson wrote: [...] I see no good reason for the following to happily print 'y'. s = 'buggy' print s[s.find('w')] Before using the result you always have to perform a test to discriminate between the found and not found cases. So I don't

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-27 Thread Steve Holden
Paul Rubin wrote: Steve Holden [EMAIL PROTECTED] writes: If you want an exception from your code when 'w' isn't in the string you should consider using index() rather than find. The idea is you expect w to be in the string. If w isn't in the string, your code has a bug, and programs with

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-27 Thread Steve Holden
Terry Reedy wrote: Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Steve Holden [EMAIL PROTECTED] writes: Of course. But onc you (sensibly) decide to use an if then there really isn't much difference between -1, None, () and sys.maxint as a sentinel value, is

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-27 Thread Paul Rubin
Steve Holden [EMAIL PROTECTED] writes: A corrected find() that returns None on failure is a five-liner. If I wanted to write five lines instead of one everywhere in a Python program, I'd use Java. -- http://mail.python.org/mailman/listinfo/python-list

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-27 Thread skip
Paul Steve Holden [EMAIL PROTECTED] writes: A corrected find() that returns None on failure is a five-liner. Paul If I wanted to write five lines instead of one everywhere in a Paul Python program, I'd use Java. +1 for QOTW. Skip --

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-27 Thread Steve Holden
Paul Rubin wrote: Steve Holden [EMAIL PROTECTED] writes: A corrected find() that returns None on failure is a five-liner. If I wanted to write five lines instead of one everywhere in a Python program, I'd use Java. We are arguing about trivialities here. Let's stop before it gets

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-26 Thread Antoon Pardon
Op 2005-08-25, Bryan Olson schreef [EMAIL PROTECTED]: Steve Holden asked: Do you just go round looking for trouble? In the course of programming, yes, absolutly. As far as position reporting goes, it seems pretty clear that find() will always report positive index values. In a

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-26 Thread Bryan Olson
Antoon Pardon wrote: Bryan Olson schreef: Steve Holden asked: And what are you proposing that find() should return if the substring isn't found at all? please don't suggest it should raise an exception, as index() exists to provide that functionality. There are a number of good

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-26 Thread Rick Wotnaz
Bryan Olson [EMAIL PROTECTED] wrote in news:[EMAIL PROTECTED]: Steve Holden asked: Do you just go round looking for trouble? In the course of programming, yes, absolutly. As far as position reporting goes, it seems pretty clear that find() will always report positive index values. In

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-26 Thread Steve Holden
Bryan Olson wrote: Antoon Pardon wrote: Bryan Olson schreef: Steve Holden asked: And what are you proposing that find() should return if the substring isn't found at all? please don't suggest it should raise an exception, as index() exists to provide that functionality. There

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-26 Thread Bryan Olson
Steve Holden wrote: Bryan Olson wrote: Antoon Pardon wrote: It probably is too late now, but I always felt, find should have returned None when the substring isn't found. None is certainly a reasonable candidate. [...] The really broken part is that unsuccessful searches return

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-26 Thread Reinhold Birkenfeld
Bryan Olson wrote: Steve Holden wrote: Bryan Olson wrote: Antoon Pardon wrote: It probably is too late now, but I always felt, find should have returned None when the substring isn't found. None is certainly a reasonable candidate. [...] The really broken part is that

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-26 Thread Terry Reedy
Bryan Olson [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] The double-meaning of -1, as both an exclusive stopping bound and an alias for the highest valid index, is just plain whacked. I agree in this sense: the use of any int as an error return is an unPythonic *nix-Cism, which

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-26 Thread Paul Rubin
Terry Reedy [EMAIL PROTECTED] writes: I agree in this sense: the use of any int as an error return is an unPythonic *nix-Cism, which I believe was copied therefrom. Str.find is redundant with the Pythonic exception-raising str.index and I think it should be removed in Py3. I like having

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-26 Thread Terry Reedy
Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Terry Reedy [EMAIL PROTECTED] writes: Str.find is redundant with the Pythonic exception-raising str.index and I think it should be removed in Py3. I like having it available so you don't have to clutter your

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-26 Thread Torsten Bronger
Hallöchen! Terry Reedy [EMAIL PROTECTED] writes: Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Terry Reedy [EMAIL PROTECTED] writes: Str.find is redundant with the Pythonic exception-raising str.index and I think it should be removed in Py3. I like

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-26 Thread Paul Rubin
Terry Reedy [EMAIL PROTECTED] writes: The try/except pattern is a pretty basic part of Python's design. One could say the same about clutter for *every* function or method that raises an exception on invalid input. Should more or even all be duplicated? Why just this one? Someone must

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-26 Thread Terry Reedy
Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Terry Reedy [EMAIL PROTECTED] writes: The try/except pattern is a pretty basic part of Python's design. One could say the same about clutter for *every* function or method that raises an exception on invalid

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-26 Thread Steve Holden
Torsten Bronger wrote: Hallöchen! Terry Reedy [EMAIL PROTECTED] writes: Paul Rubin http://phr.cx@NOSPAM.invalid wrote in message news:[EMAIL PROTECTED] Terry Reedy [EMAIL PROTECTED] writes: Str.find is redundant with the Pythonic exception-raising str.index and I think it should be

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-26 Thread Steve Holden
Bryan Olson wrote: Steve Holden wrote: Bryan Olson wrote: Antoon Pardon wrote: It probably is too late now, but I always felt, find should have returned None when the substring isn't found. None is certainly a reasonable candidate. [...] The really broken part is that

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-26 Thread Robert Kern
Steve Holden wrote: Of course. But onc you (sensibly) decide to use an if then there really isn't much difference between -1, None, () and sys.maxint as a sentinel value, is there? Sure there is. -1 is a valid index; None is not. -1 as a sentinel is specific to str.find(); None is used all

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-26 Thread Paul Rubin
Steve Holden [EMAIL PROTECTED] writes: Of course. But onc you (sensibly) decide to use an if then there really isn't much difference between -1, None, () and sys.maxint as a sentinel value, is there? Of course there is. -1 is (under Python's perverse semantics) a valid subscript. sys.maxint

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-26 Thread Paul Rubin
Steve Holden [EMAIL PROTECTED] writes: If you want an exception from your code when 'w' isn't in the string you should consider using index() rather than find. The idea is you expect w to be in the string. If w isn't in the string, your code has a bug, and programs with bugs should fail as

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type

2005-08-25 Thread en.karpachov
On Thu, 25 Aug 2005 00:05:18 -0400 Steve Holden wrote: What on earth makes you call this a bug? And what are you proposing that find() should return if the substring isn't found at all? please don't suggest it should raise an exception, as index() exists to provide that functionality.

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-25 Thread Paul Rubin
Steve Holden [EMAIL PROTECTED] writes: As far as position reporting goes, it seems pretty clear that find() will always report positive index values. In a five-character string then -1 and 4 are effectively equivalent. What on earth makes you call this a bug? And what are you proposing that

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-25 Thread Bryan Olson
Steve Holden asked: Do you just go round looking for trouble? In the course of programming, yes, absolutly. As far as position reporting goes, it seems pretty clear that find() will always report positive index values. In a five-character string then -1 and 4 are effectively equivalent.

Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-24 Thread Bryan Olson
The doc for the find() method of string objects, which is essentially the same as the string.find() function, states: find(sub[, start[, end]]) Return the lowest index in the string where substring sub is found, such that sub is contained in the range [start, end).

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-24 Thread Steve Holden
Bryan Olson wrote: The doc for the find() method of string objects, which is essentially the same as the string.find() function, states: find(sub[, start[, end]]) Return the lowest index in the string where substring sub is found, such that sub is contained in the range

Re: Bug in string.find; was: Re: Proposed PEP: New style indexing, was Re: Bug in slice type

2005-08-24 Thread Casey Hawthorne
contained in the range [start, end) Does range(start, end) generate negative integers in Python if start = 0 and end = start? -- Regards, Casey -- http://mail.python.org/mailman/listinfo/python-list