[Python-Dev] Usage of += on strings in loops in stdlib

Maciej Fijalkowski fijall at gmail.com
Wed Feb 13 00:30:28 CET 2013


On Wed, Feb 13, 2013 at 1:20 AM, MRAB <python at mrabarnett.plus.com> wrote:
> On 2013-02-12 21:44, Antoine Pitrou wrote:
>>
>> On Tue, 12 Feb 2013 16:40:38 -0500
>> Ned Batchelder <ned at nedbatchelder.com> wrote:
>>>
>>>
>>> But the only reason "".join() is a Python idiom in the first place is
>>> because it was "the fast way" to do what everyone initially coded as "s
>>> += ...".   Just because we all learned a long time ago that joining was
>>> the fast way to build a string doesn't mean that "".join() is the clean
>>> idiomatic way to do it.
>>
>>
>> It's idiomatic because strings are immutable (by design, not because of
>> an optimization detail) and therefore concatenation *has* to imply
>> building a new string from scratch.
>>
> Tuples are much like immutable lists; sets were added, and then frozensets;
> should we be adding mutable strings too (a bit like C#'s StringBuilder)?
> (Just wondering...)

Isn't bytearray what you're looking for?


More information about the Python-Dev mailing list