Gibt es eine Pythonic-Methode, um alle Strings in einer Liste zu trennen?Alle Strings in einer Liste aufteilen?
Angenommen, ich habe eine Liste von Strings:
list = ['foo', 'bar', 'baz']
Und ich will nur die letzten zwei Zeichen von jeder Saite:
list2 = ['oo', 'ar', 'az']
Wie kann ich das?
Ich weiß, ich kann durch die Liste iterieren und nehmen list[i][-2:]
von jedem einzelnen, aber das scheint nicht sehr Pythonic.
Weniger allgemein, mein Code:
def parseIt(filename):
with open(filename) as f:
lines = f.readlines()
result = [i.split(',') for i in lines[]]
... außer ich nur lines[i][20:]
aus jeder Zeile geteilt werden soll (nicht die ganze Zeile).
Was ist los mit '[Wort [1:] für Wort in lst]'? Das ist ziemlich einfach. Außerdem behandelt Ihr Code eine Datei, in der jede Zeile durch Kommas getrennt ist. – idjaw
@idjaw: Ja, das ist es; Vielen Dank. Genauer gesagt, das beantwortet den ersten Teil meiner Frage und sagt mir, wie ich den zweiten Teil lösen soll, was ich denke, ist 'result = [i [20:]. Split (', ') für i in Zeilen] '. Mach es eine Antwort und ich werde es aufwerten. –
Aber welche endgültige Ausgabe suchen Sie? '[i [20:]. split (',') für i in Zeilen]' scheint ein bisschen seltsam. Wie sieht jede Zeile aus "Zeilen" aus? Und was genau suchen Sie als Endergebnis? – idjaw