[Python-de] Re: for unpacking

Patrick Rudin über python-de <[email protected]> Wed, 7 Aug 2024 11:54:48 +0200
Newsgroups gmane.comp.python.general.german
Message-ID <[email protected]>
Peter J. Holzer wrote:
> On 2024-08-06 20:57, Patrick Rudin <[email protected]> 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
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]