Schnellste Weg, um entfernen die ersten und die letzten Zeilen aus einem Python-string

Habe ich ein python-script, dass aus verschiedenen Gründen, ist eine variable, die einen relativ großen string, sagen wir 10 MB lang. Dieser string enthält mehrere Zeilen.

Was ist der Schnellste Weg, um entfernen Sie die erste und Letzte Zeile dieses Strings? Aufgrund der Größe der Zeichenfolge, je schneller die operation, desto besser; es ist ein Schwerpunkt auf Geschwindigkeit. Das Programm liefert eine etwas kleinere Zeichenfolge, sans, die ersten und letzten Zeilen.

'\n'.join(string_variable[-1].split('\n')[1:-1]) ist der einfachste Weg, dies zu tun, aber es ist extrem langsam, da die split () - Funktion kopiert das Objekt im Speicher, und die join () - kopiert es wieder.

Beispiel-string:

*** START OF DATA ***
data
data
data
*** END OF DATA ***

Extra credit: Habe dieses Programm nicht ersticken, wenn es keine Daten zwischen; dies ist optional, da für meinen Fall sollte es kein string mit keine Daten zwischen.

  • Haben Sie Kontrolle darüber, wie Sie die Zeichenfolge in Ihr Programm, wie zB: machst du my_string = file_obj.read() zum abrufen der string? Auch, müssen Sie alle Zeilen, die im Speicher vorhanden, oder ist nur eine Zeile in einer Zeit, okay?
InformationsquelleAutor james chang | 2015-01-25
Schreibe einen Kommentar