<div>a naso avrei detto che questo avrebbe dato lo stesso problema</div><div><br></div><div>>>> T = ([],)</div><div>>>> T[0].__iadd__([3])</div><div>[3]</div><div><br></div><div>>>> T = ([],)</div>
<div>>>> T[0] += [3]</div><div>Traceback (most recent call last):</div><div> File "<ipython-input-62-a940dfebc38f>", line 1, in <module></div><div> T[0] += [3]</div><div>TypeError: 'tuple' object does not support item assignment</div>
<div><br></div><div><br></div><div><a href="http://docs.python.org/2/reference/datamodel.html?highlight=iadd#object.__iadd__">http://docs.python.org/2/reference/datamodel.html?highlight=iadd#object.__iadd__</a></div><div>
<br></div><div><br></div><div><div>>>> T = ([],)</div><div>>>> T[0] = T[0].__iadd__([3])</div><div>Traceback (most recent call last):</div><div> File "<ipython-input-65-d9efb2b8bc4b>", line 1, in <module></div>
<div> T[0] = T[0].__iadd__([3])</div><div>TypeError: 'tuple' object does not support item assignment</div><div><br></div><div>>>> T</div><div>([3],)</div></div><div><br></div><div>ma dalla ducumentazione si capisce che </div>
<div>object.__iadd__ dovrebbe/<b>potrebbe</b> ritornare self o un altro oggetto</div><div><br></div>il che lascia fuori l'assegnamento,<div>potremmo dire che l'assegmanento č decisamente inutile se l'oggetto ha una implementazione dell'__iadd__ che ritorna self, ma anche no.<br>
<div><br></div><div>in conclusione č veramente brutto e allo stesso tempo meraviglioso</div><div><br><div class="gmail_quote">2013/1/4 Davide Alberani <span dir="ltr"><<a href="mailto:da@mimante.net" target="_blank">da@mimante.net</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2013/1/4 Marco Beri <<a href="mailto:marcoberi@gmail.com">marcoberi@gmail.com</a>>:<br>
<div class="im">><br>
> Chi indovina cosa stampa l'ultima riga di questo snippet senza eseguirlo? Si<br>
> accettano tentativi :-)<br>
<br>
</div>Non č un glitch. Prima estende la lista,<br>
poi fa un assegnamento ad un elemento<br>
di una tupla. Garantito che te lo prendi<br>
nei denti... ma intanto l'estensione alla<br>
lista (tipo mutabile) l'ha fatta. :-)<br>
<br>
Da cui, se ne evince che il metodo extend<br>
delle liste in fondo in fondo non sta lė per<br>
bellezza. ;-)<br>
<br>
Poi ovvio che č un comportamento un poco<br>
inaspettato... io ci ho sbattuto contro qualche<br>
anno fa, e fu divertente. Sė, divertente, diciamo.<br>
<br>
<br>
--<br>
Davide Alberani <<a href="mailto:da@mimante.net">da@mimante.net</a>> [PGP KeyID: 0x465BFD47]<br>
<a href="http://www.mimante.net/" target="_blank">http://www.mimante.net/</a><br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</div></div></blockquote></div><br></div></div>