Grant Edwards wrote: > On 2010-09-26, Paul Rubin <no.em...@nospam.invalid> wrote: >> Steven D'Aprano <st...@remove-this-cybersource.com.au> writes: >>> There's nothing obscure or unintuitive about "spam"*3 = "spamspamspam", > >> Why would it not be ["spam","spam","spam"] or even "ssspppaaammm"? > > Because > > 3 * "spam" == "spam" + "spam" + "spam" > > Just like > > 3 * 6 = 6 + 6 + 6 > > So now I suppose "+" for string concatenation is a bad thing.
It's awkward for math purists because there's no additive inverse .. hence the original poster's idea to simply create one out of the blue. For string lengths and list lengths we're stuck with non-negative integers, and no hope of general-purpose subtraction. I wouldn't change it. As an idiom, ' '*20 is just too handy a way to get a 20-blank string to give up. Mel. -- http://mail.python.org/mailman/listinfo/python-list