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

Antoine Pitrou solipsis at pitrou.net
Tue Feb 12 22:44:04 CET 2013


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.

Regards

Antoine.




More information about the Python-Dev mailing list