Robin Becker wrote: > Larry Hastings wrote: > ______ >> THE PATCH >> >> The core concept: adding two strings together no longer returns a pure >> "string" object. Instead, it returns a "string concatenation" object >> which holds references to the two strings but does not actually >> concatenate >> them... yet. The strings are concatenated only when someone requests >> the >> string's value, at which point it allocates all the space it needs and >> renders the concatenated string all at once. >> >> More to the point, if you add multiple strings together (a + b + c), >> it *doesn't* compute the intermediate strings (a + b). >> >> Upsides to this approach: > ........ > > wouldn't this approach apply to other additions eg list+list seq+seq etc > etc.
no, I think it depends on strings being immutable. If you do list1 + list2 that way and list1 is mutated then the resulting list would be changed too. > I suppose the utility of such an approach depends on the frequency with > which multiple strings/lists/sequences etc are added together in real code. I think there are quite a lot of string additions around, it's just that people get told to use join all the time, so they are not written using "+". Cheers, Carl Friedrich -- http://mail.python.org/mailman/listinfo/python-list