Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: =?UTF-8?Q?Mike_M=C3=BCller?= Newsgroups: de.comp.lang.python Subject: =?utf-8?q?=5BPython-de=5D_Re=3A_for_unpacking?= Date: Wed, 7 Aug 2024 09:14:16 +0200 Organization: Python Academy GmbH & Co. KG Lines: 71 Message-ID: <7294d25e-f0ff-4333-8f17-7e7d59c41933@python-academy.de> References: Reply-To: mmueller@python-academy.de Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de Ksye4WjmidVE754tuZS39Qcn59fFRJt0ZcBSrKIcW4uA== Cancel-Lock: sha1:upMSkBRh/R864Nw5YeJukfL6xWk= sha256:7W16vGMCDpSe38eeT0A+mfn4GQzRKn6UuAdGQ8PkhLE= Authentication-Results: mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=python-academy.de header.i=@python-academy.de header.b=UizblkQw; dkim-adsp=pass; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=python-academy.de; s=default2205; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:To:Subject:Reply-To:MIME-Version:Date:Message-ID: Sender:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=d6Nmqd17zu7ztWzGN98oci/Oo9JTPbLtr4VrqJ47w8E=; b=UizblkQwhwlAmiNh5YJ4HbQ0qy gOSQ0H7dAyBhtRbH4hwHwiuYgzVdQNjyleqyXT8uGWMm2uM7YF2pwcyxwngnmBUkCQ8b9/j7EFEOZ tmL+EaLB4FLpjdYk4LqU8HgW7nytpSWffqBwpgPvhNdZHojwG5AmPruLHo5uuuWF9WCgv6vvbZn4w zY4hTEuMsCXwafckzbeLk1JU4c1rcBZPtnTE9CPLw2aeR2z5pF8f79w3Bde6eUSJ4yGmIj3MjSnhS qhK3kDvjdtOC06eRwYyEXv5qHh4n7x4pFxfWKe5koRim3vlYGgYR13WFpe1d5/CTs6vD2jvs+t7Oz ATPwzgfA==; User-Agent: Mozilla Thunderbird Content-Language: de-DE Autocrypt: addr=mmueller@python-academy.de; keydata= xsBNBE9NaSQBCADIirFuAq9t2xTZ9eU/quGgNsuxnp+DfD3W4s3lcQt2APSYtyUQMrB5DJ9q h9Nl02SFpUq7m0Kf3nb0QvZWbh5UeEx+sliJrAPYZPThupy2W1xzOMD3aJBle/qCaHZK4wmq tmaD2/TFAqtABOe1yibZ6auqU7V4T1YO4tDc8BCuW8GVDGWpUddAieyivquJ5WcYQRKBZuIL BygUA1CHqKOJJlOIh14yvJB444AemYdtG5345NY+pwNddhhr/w1NebVhSMkrEB3WkMW2VfFE X0wEpzufuJOrs1RKl13FXiVBdqs+wnZKDsjKiu6cZax3bI7YdukHwhB4nD24hMV4ZcO5ABEB AAHNKU1pa2UgTcO8bGxlciA8bW11ZWxsZXJAcHl0aG9uLWFjYWRlbXkuZGU+wsCBBBMBAgAr AhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUJGlNnTAUCZd284AIZAQAKCRCnneP4s3tA OMrkB/41xCQEmyNEmG/HThndpbivRR1vOHWFkTVhvoludwCwdChvUXJTIDtmTwxwb2xPDJzj VtlDt7EiW3JeSANZSjrdw0U3Cu+eMLEZICKgy5dHOQFixt1jEb8101Yor8R1YZDWp94/8Jjq 7OGhYJf5+Yn8E6AYqfyoTqp7WJ7Uz+rYxIXqGEudB/QUBhq+T7y7KCs0VD1lf9joPcyt/y+J R9fWA1HwzC32PLdN+zA3oDNqy0ov69Zn2XO1/VZfqBkXDDUBDsC7rBNOPHxgcAd+qfhDLNd2 G5Pa+cZ9hLKR06qrFpRxYK7d1c5v/xDuRG06aXgNZ2ZWX2DB1VC0rDjYMyGUzsBNBE9NaSQB CADj2oRYH78dlVDHTEU8/16vvCjLdelIuA8t7518MdWYRmbYndGmPktn2EbJr4Eo9zU+MG4l A20gHX7rG3USIpgw5n9F3LXZZxApc7LvJfFzfZPpqv2GQUAy2kvjumK2uC5Jh2Jyug0/BN3i ePDbHBGi3TaFHnhqNorUy4Rg9D3rd7OpeuslNpmLpJPxTX3rRh+ePR8wOg1EczR3r4klYEcK udGvZQHOKt89KSDyR4XbO+oKkRSwFS4DV/WPsKNOW00Wtz2no3/oLId+g0mzgdeRLtaGZlTS VcRj8D/g2xrfPLplG2jfHqs+eoys53rLNoyxnpMS7IOupl0UqgRt85PHABEBAAHCwGUEGAEC AA8CGwwFAmXdvOAFCRpTZ0wACgkQp53j+LN7QDjz1Qf7BkD9Y4g3wor1vPJv2luatUhvR9el 35TVBnpvI9t+mznZuz28h1D4RZ/OYziTaNtz99HtD02dD3sBINBcViY0lbztXrDyXzxXbls5 rx16AmiTgTE091MZ1o99DZDyAjPiLQ0wBXt5dBmCgEcvr1Kc2xvlAJxZSGkdYqH6xnsSRTlU 15B6QwNp44peOSTl8cXEx0UlN18nqE3HxzN8s/YH4SpCFe/BvNUWmpTrUvz9L2Rv8JIbGi6v IK/k2teEeWbRNnwsLKprLuk2Q3oXrdA88rRGpfTfYvheSt+4l8+Tk0iYoJkhFmXrZIrb+6A+ 9Zq4eTOf0fuSzsI3Zwi/S3c16g== In-Reply-To: X-Authenticated-Sender: mmueller@python-academy.de X-Virus-Scanned: Clear (ClamAV 0.103.10/27359/Tue Aug 6 10:29:01 2024) Message-ID-Hash: UFJYLL3DPZ5H4YJPH2OJKZTYZ7USKUGB X-Message-ID-Hash: UFJYLL3DPZ5H4YJPH2OJKZTYZ7USKUGB X-MailFrom: mmueller@python-academy.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-python-de.python.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10b1 Precedence: list List-Id: Die Deutsche Python Mailingliste Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Xref: csiph.com de.comp.lang.python:6141 Am 06.08.24 um 22:57 schrieb Patrick Rudin über python-de: > Vermutlich habe ich irgendwas falsch verstanden, wie unpacking funktioniert. > Jedenfalls: > > zahlen = [[5,5,5]] > zahlen.append([9,9,9]) > > for t in zahlen: >     t[1] += t[2] > > > > nummern = [[5,5,5]] > nummern.append([9,9,9]) > > for a,b,c in nummern: >     b += c > > > Auf der Konsole dann abgefragt: > zahlen > Out[7]: [[5, 10, 5], [9, 18, 9]] > > nummern > Out[8]: [[5, 5, 5], [9, 9, 9]] > > Ich kapier das nicht. Funktioniert unpacking nur lesend? Oder wie kann ich > einen Wert während der For-Schlaufe ändern, ohne die umständliche Notation zu > verwenden? Wie schon in den anderen Antworten ausführlich erklärt, ist ein Objekt mit dem Datentyp `int` unveränderlich (immutable). Daher kann sich dessen Wert nicht ändern. Der Name `b` lässt sicher aber für neue Objekte nutzen. Alle Objekte haben eine für ihre gesamte Lebenszeit feste Kennung, eine ID. Die eingebaute Funktion `id()` gibt diese zurück. Die Ausgabe der ID für `b` vor und nach der Zuweisung mit `+=` macht deutlich, das ein neues Objekt entsteht, da `b` eine neue ID bekommt: 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 Nach meiner Erfahrung ist so eine Anzeige von IDs eine gute Ergänzung zu grundsätzlichen Erläuterungen zum Thema Objekte und deren Veränderbarkeit. Viele Grüße Mike > Grüsse > > Patrick > _______________________________________________ > python-de Mailingliste -- python-de@python.org > Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an > python-de-leave@python.org > https://mail.python.org/mailman3/lists/python-de.python.org/ > Mitgliedsadresse: mmueller@python-academy.de