[Python-3000] Making more effective use of slice objects in Py3k (original) (raw)
Guido van Rossum guido at python.org
Sun Aug 27 17:55:05 CEST 2006
- Previous message: [Python-3000] Making more effective use of slice objects in Py3k
- Next message: [Python-3000] Making more effective use of slice objects in Py3k
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 8/26/06, Josiah Carlson <jcarlson at uci.edu> wrote:
"Jim Jewett" <jimjjewett at gmail.com> wrote: > With stringviews, you wouldn't need to be reindexing from the start of > the original string. The idiom would instead be a generalization of > "for line in file:" > > while data: > chunk, sep, data = data.partition() > > but the partition call would not need to copy the entire string; it > could simply return three views. Also, with a little work, having string views be smart about concatenation (if two views are adjacent to each other, like chunk,sep or sep,data above, view1+view2 -> view3 on the original string), copies could further be minimized, and the earlier problem with readline, etc., can be avoided.
But this assumes that string views are 99.999% indiscernible from regular strings -- if operations can return a copy or a view depending on how things happen to be laid out in memory, It should be trivial to write code that doesn't care whether it gets a string or a view.
This works for strings (which are immutable) but these semantics are unacceptable for mutable objects -- another reason to doubt that it makes sense to generalize the idea of views to all sequences, or to involve a change to the slice object in the design.
-- --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-3000] Making more effective use of slice objects in Py3k
- Next message: [Python-3000] Making more effective use of slice objects in Py3k
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]