Hi,
I've hit a corner case that I can explain to myself *why* it happens, both under python 2.3 and python 2.4, but the following inconsistency makes me wonder if I should log it as a bug:
First the behaviour that isn't unexpected:
a=["hello"] a = a + "world"
Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: can only concatenate list (not "str") to list
Which is pretty what I'd expect.
However if we do this just slightly differently:
a = ["hello"] a += "world" a
['hello', 'w', 'o', 'r', 'l', 'd']
We get completely different behaviour. This strikes me as a bug - should I log it as one, or is there a good reason for this behaviour?
It's consistent with using a.extend("world") which is what the += is sugar for.
In [1]:a = ['hello']
In [2]:a.extend("world")
In [3]:a Out[3]:['hello', 'w', 'o', 'r', 'l', 'd']
It's a *good* thing that .extend() takes any iterable without explicit conversion to a list. I think that it's just a minor annoyance that the behavior passes on to +=.
-- Robert Kern [EMAIL PROTECTED]
"In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter
-- http://mail.python.org/mailman/listinfo/python-list