Tipp des Tages: Eine Zeichenkette umdrehen

Der folgende Tipp fällt eher in die Kategorie „Spielerei“ bzw. „Was mit Slicing alles möglich ist“ (die Idee stammt auch nicht von mir, sondern von einem Teilnehmer meines letzten Python-Kurses).

Folgende Aufgabenstellung: Ausgabe einer Zeichenkette in umgedrehter Reihenfolge. Aus „Python ist ganz nett“ soll z.B. „tten znag tsi nohtyP“ werden.

Wer bei Python denkt wie ein Entwickler, versucht es vielleicht mit einer for-Wiederholung, die am Ende der Zeichenkette beginnt und Zeichen für eine Zeichen eine neue Zeichenkette zusammensetzt:

s1 = "Python ist ganz nett"
s2 = ""
for i in range(len(s1)-1,-1 ,-1):
    s2 += s1[i]

Das ist ok, aber für Python doch etwas umständlich. Sehr viel einfacher geht es dank der universellen Slicing-Schreibweise, die sich auf jede Liste anwenden lässt. Und da bei Python ein String ebenfalls eine Liste (von Zeichen) ist, funktioniert Slicing auch bei Strings (und stellt den Ersatz für eventuell vertraute Functions wie Left, Right oder Substr dar, die es bei Python nicht gibt).

Python ist ganz nett"[::-1]

Ich muss zugeben, dass ich darauf von alleine nicht unbedingt gekommen wäre, aber wenn man es so sieht, ist es ja eigentlich ganz logisch;)

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.