Bei der Arbeit mit Listen in Python stellt das Drucken jedes Elements oft eine Herausforderung dar. Herkömmliche Methoden wie die Verwendung von „\n“.join() mit map() oder das Durchlaufen der Liste mit einer for-Schleife können sich umständlich anfühlen. In diesem Artikel wird eine elegante Lösung untersucht, die das Entpacken nutzt, um eine prägnante und pythonische Methode zum Drucken von Listenelementen zu erreichen.
In Python 3 ermöglicht die print()-Anweisung das Entpacken, bezeichnet durch ein Sternchen (*) gekennzeichnet. Mit dieser Funktion können wir mehrere Objekte gleichzeitig drucken, indem wir sie aus einer einzigen Variablen „entpacken“, wodurch die Notwendigkeit expliziter Schleifen oder Verknüpfungsoperationen effektiv entfällt.
myList = [Person("Foo"), Person("Bar")] print(*myList, sep='\n')
Durch die Verwendung des Sternchens werden die Elemente von myList in einzelne Argumente erweitert, was zur gewünschten Ausgabe führt:
Foo Bar
Das Argument sep='\n' stellt sicher, dass jedes Element in einer neuen Zeile gedruckt wird. Diese Entpacktechnik verkörpert die Pythonic-Philosophie der Einfachheit und Prägnanz.
Für Python 2-Benutzer fehlt der print-Anweisung die Möglichkeit zum Entpacken. Der Import von print_function aus dem Modul future ermöglicht jedoch die Übernahme der Python 3-Drucksyntax. Alternativ kann eine einfache for-Schleife verwendet werden, um jedes Element zu drucken:
for p in myList: print p
Listenverständnisse sind zwar nicht so prägnant wie das Auspacken, bieten aber ein leistungsstarkes Werkzeug zum Bearbeiten von Listen. Die Kombination von Listenverständnissen mit „\n“.join() bietet eine lesbare Alternative zum Entpacken:
print '\n'.join(str(p) for p in myList)
Dieser Ansatz wandelt jedes Listenelement mit str() in eine String-Darstellung um und verbindet sie mit Zeilenumbrüchen. Obwohl es nicht so prägnant ist wie das Auspacken, bleibt das Listenverständnis eine effektive und vielseitige Technik für die Arbeit mit Listen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3