string.translate (s, Tabelle [, deletechars]) wird gelöscht Alle Zeichen aus der Zeichenfolge deleetchars , eine Liste von Zeichen. Dann wird die Zeichenkette mit der Tabelle übersetzt (wir verwenden sie in diesem Fall nicht) .
Um nur die Kleinbuchstaben zu entfernen, müssen Sie string.ascii_lowercase übergeben als Liste der zu löschenden Buchstaben.
Die table
ist keine, denn wenn die Tabelle None
ist, wird nur der Löschschritt ausgeführt.
Höhere Ordnung funktioniert zur Rettung!
%Vor%BEARBEITEN : Falls Sie nicht wissen, welcher Filter funktioniert: filtert eine Funktion und eine iterierbare Funktion und wendet dann die Funktion auf jedes Element in der iterablen Funktion an. Es behält alle Werte bei, die wahr sind, und verwirft den Rest. Daher wird "ABCDEFGHIJKLMNOP" zurückgegeben.
oder regex verwenden ... das ist eine einfache Antwort
%Vor%nur zum Vergleich
%Vor%so ist dieser Join plus findall die schnellste Methode (pro ipython% timeit (python 2.6)), mit einer 10000 Zeichen langen identischen Zeichenfolge
Bearbeiten : Oder nicht
%Vor%