Peter J. Holzer wrote:
On 2024-08-06 20:57, Patrick Rudin <taxi_bs@gmx.ch> wrote:
Ich kapier das nicht. Funktioniert unpacking nur lesend?
Nein, aber int ist ein Immutable-Typ. Du kannst den Wert eines int-Objekts nicht ändern.
Oki. Hinter die Ohren geschrieben: Im Zweifelsfall immer neue Liste erzeugen.
Wenn Du nummern in-place ändern willst, musst Du wohl die Indizes verwenden.
Aber Du könntest auch eine List-Comprehension nehmen:
nummern = [[a, b+c, c] for a, b, c in nummern]
Ich hab hier rund ein Dutzend Variablen, an denen ich rumschraube. Am übersichtlichsten wäre wohl: zahlen = [[5,5,5]] zahlen.append([9,9,9]) for i, (a,b,c) in enumerate(zahlen): b += c zahlen[i] = [a,b,c] Bei vielen Variablen muss man dann halt verflucht aufpassen, dass man bei Erweiterungen die Reihenfolge peinlichst einhält. Elegant ist das nicht. Vermutlich wurden aus diesem Grund Klassen erfunden, in denen man klar und deutlich auf Attribute einzelner Instanzen zugreifen kann...
Es gibt einen sehr guten Vortrag zu dem Thema: Ned Batchelder - Facts and Myths about Python names and values - PyCon 2015 https://www.youtube.com/watch?v=_AEJHKGk9ns
Er fängt gut an, vermischt dann aber abstrakte Syntax mit konkretem Beispiel. Da komm ich dann innerlich nicht mehr mit... Gruss Patrick