[Python-3000] Making more effective use of slice objects in Py3k

Talin talin at acm.org
Thu Aug 31 07:36:43 CEST 2006


Josiah Carlson wrote:
> Talin <talin at acm.org> wrote:
>> The 'characters' data type would be particularly optimized for 
>> character-at-a-time operations, i.e. building up a string one character 
>> at a time. An example use would be processing escape sequences in 
>> strings, where you are transforming the escaped string into its 
>> non-escaped equivalent.
> 
> That is already possible with array.array('H', ...) or array.array('L', ...),
> depending on the unicode width of your platform.  Array performs a more
> conservative reallocation strategy (1/16 rather than 1/8), but it seems
> to work well enough.  Combine array with wide character support in views,
> and we could very well have the functionality that you desire.

Well, one of the things I wanted to be able to do is:

    'characters += str'

Or more precisely:

    token_buf = characters()
    token_buf += "example"
    token_buf += "\n"
    print token_buf
    >>> "example\n"

Now, an ordinary list would concatenate the string *object* onto the end 
of the list; whereas the character array would concatenate the string 
characters to the end of the character array. Also note that the __str__ 
method of the character array returns a vanilla string object of its 
contents.

(What I am describing here is exactly the behavior of Java StringBuffer.)

-- Talin


More information about the Python-3000 mailing list