Betrachten Sie das folgende:Puzzling „‚tuple‘Objekt nicht Gegenstand Zuordnung unterstützen“ Fehler
>>> t = ([],)
>>> t[0].extend([12, 34])
>>> t
([12, 34],)
>>> t[0] += [56, 78]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> t
([12, 34, 56, 78],)
>>>
Ich verstehe, dass Tupel unveränderlich sind, sondern das Element in der LHS ist kein Tupel! (Die Tatsache, dass die beabsichtigte Zuweisung in der Tat erfolgreich war, macht trotz der Fehlermeldung das ganze Szenario nur noch bizarrer.)
Warum wird dieses Verhalten nicht als Fehler angesehen?
Warum kommen Leute immer mit einer Frage zu SO, bevor sie in die Python-FAQ gehen? In den FAQ erhalten Sie eine Antwort, die sorgfältig durchdacht, von mehreren Kernentwicklern geprüft und geprüft wurde und die Zeit überdauert hat. Auf SO erhalten Sie die Antwort, dass jemand in 5 Minuten zusammenschlägt, die nächsten 5 Minuten wiederholt bearbeitet und dann den Rest der Zeit abbricht. Hättest du nicht lieber das erstere? – abarnert
@abarnert, weil es unendlich viele Möglichkeiten gibt, eine Frage zu stellen und die google/stackoverflow-Ergebnisse viel mehr fangen als python.org zu suchen. SO wirft das breiteste Frage-Netz und wenn es scheitert, wird das Stellen einer Frage normalerweise mit einer schnellen Antwort und Punkten belohnt. In vielen Fällen sind andere bessere Ressourcen verknüpft, so dass die Leute auf die beste Antwortquelle hingewiesen werden. – dansalmo