Wer mit komplexen Daten in Python arbeiten muss, kommt schnell an die Grenzen der Überschaubarkeit – zumindest dann, wenn diese Daten nicht übersichtlich verarbeitet wurden. Mit der Einordnung der Daten in Listen kann genau diese Übersichtlichkeit erreicht werden. Aber Achtung: je mehr Daten dort gespeichert werden, desto größer ist die Gefahr von Wiederholungen. Genau hier können Sets helfen, indem sie Duplikate erkennen und entfernen. Doch welche Methode zur Datenstrukturierung und -verarbeitung ist nun besonders effizient? Im folgenden Textauszug aus „Python von Kopf bis Fuß“ diskutieren Liste und Set genau darüber.
Liste: [Singt] „Alles was du kannst, kann ich viel besser, viel besser kann ich alles als du.“
Set: Es ist mir wirklich zu blöd, einfach „Kannst du nicht“ zu sagen. Machen wir doch einfach die Probe: Wie hältst du es denn mit Duplikaten? Bei mir werden die sofort und automatisch entfernt.
Liste: Und wie stehst du zu „Datenverlust“? Daten automatisch zu verwerfen, klingt in meinen Ohren ziemlich gefährlich.
Set: Aber genau das soll ich tun. In Sets sind doppelte Werte nicht gestattet.
Liste: Wirklich?
Set: Ja. Das ist mein wahrer Lebenszweck … die Speicherung von Wertmengen, die, wenn der entsprechende Bedarf besteht, lebensrettend sein kann.
Liste: Und das ist alles, was du machst?
Set: Das ist alles, was ich tun muss.
Liste: Und man bezahlt dich dafür?!?
Set: Sehr lustig. Du ziehst hier doch nur eine Nummer ab, um zu vertuschen, dass du alleine mit doppelten Werten nicht klarkommst.
Liste: Ist dir vielleicht schon mal in den Sinn gekommen, dass ich doppelte Werte mag? Sie sind mir ungemein ans Herz gewachsen.
Set: Klar. Außer wenn du sie nicht brauchst.
Liste: Was so oft nicht eintritt. Und wenn das der Fall ist, kann ich mich darauf verlassen, dass andere so freundlich sind, mir unter die Arme zu greifen.
Set: Du willst wohl sagen, dass set() dir unter die Arme greift, nicht wahr?
Mehr zum Thema gibt es im Buch „Python von Kopf bis Fuß“ von Paul Barry. Nach einer Einführung in die Grundlagen von Python lernen Programmierer mehr über Themen wie Fehlerbewältigung, Datenverarbeitung oder das Schreiben von mobile Apps für Android-Smartphones.