[Python-Dev] odd "tuple does not support assignment" confusion...

R. David Murray rdmurray at bitdance.com
Sat Mar 3 00:38:50 CET 2012


On 2012年3月03日 03:06:33 +0400, "Alex A. Naanou" <alex.nanou at gmail.com> wrote:
> Hi everyone,
>> Just stumbled on a fun little thing:
>> We create a simple structure...
>> l = ([],)
>>> Now modify the list, and...
>> l[0] += [1]
>>> ...we fail:
> ## Traceback (most recent call last):
> ## File "F:\work\ImageGrid\cur\ImageGrid\src\test\python-bug.py",
> line 17, in <module>
> ## l[0] += [1]
> ## TypeError: 'tuple' object does not support item assignment

What is even more fun is that the append actually worked (try printing
l).
This is not a bug, it is a quirk of how extended assignment works.
I think there's an issue report in the tracker somewhere that
discusses it.
--David


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /