[Python-de] Re: for unpacking
Mike Müller <mmueller-Nw5JoyH4ZXncp1/[email protected]> Fri, 9 Aug 2024 08:03:59 +0200
| Newsgroups | gmane.comp.python.general.german |
|---|---|
| Organization | Python Academy GmbH & Co. KG |
| Message-ID | <[email protected]> |
Am 07.08.24 um 11:57 schrieb Patrick Rudin über python-de:
> Mike Müller wrote:
>> nummern = [[5,5,5]]
>> nummern.append([9,9,9])
>>
>> for a,b,c in nummern:
>> print('vorher: ', id(b))
>> b += c
>> print('nachher:', id(b))
>>
>>
>> Ausgabe:
>>
>> vorher: 4375044856
>> nachher: 4375045016
>> vorher: 4375044984
>> nachher: 4375045272
>
> Das hilft aber nicht weiter, weil:
>
> zahlen = [[5,5,5]]
> zahlen.append([9,9,9])
>
> for t in zahlen:
> print('vorher: ', id(t[1]))
> t[1] += t[2]
> print('nachher:', id(t[1]))
>
> vorher: 11743656
> nachher: 11743816
> vorher: 11743784
> nachher: 11744072
>
> Kurzum: Auch da wird ein neues Objekt erzeugt.
Und das neue Objekt kommt dann mit:
t[1] += t[2]
in die Liste. Aufgelöst in zwei Zeilen ist da vielleicht verständlicher:
b += t[2]
t[1] = b
Der Name `b` ist natürlich frei wählbar und könnte zum Beispiel auch `tmp`
sein.
Also anstatt den Wert eines Objektes zu modifizieren kommt ein neues Element
an der Stelle Index `1` in die Liste.
Viele Grüße
Mike
>
>
> 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]
_______________________________________________
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]