gibt eine Liste von Wörtern zurück, nachdem eine Datei in Python gelesen wurde

7

Ich habe eine Textdatei mit dem Namen test.txt . Ich möchte es lesen und eine Liste aller Wörter (mit entfernten Zeilenumbrüchen) aus der Datei zurückgeben.

Dies ist mein aktueller Code:

%Vor%

Durch Ausführen dieses Codes wird diese Liste erstellt:

%Vor%

Ich möchte, dass die Liste so aussieht:

%Vor%     
mzn.rft 06.11.2012, 20:57
quelle

4 Antworten

13

Ersetzen Sie die Zeile words_list.append(...) in der for-Schleife durch Folgendes:

%Vor%

Dadurch wird jede Zeile in Whitespace-Zeichen aufgeteilt und anschließend jedes Element der resultierenden Liste zu words_list hinzugefügt.

Oder als eine alternative Methode zum Umschreiben der gesamten Funktion als Listenverständnis:

%Vor%     
Andrew Clark 06.11.2012, 21:00
quelle
17

Je nach Größe der Datei scheint dies so einfach zu sein wie:

%Vor%     
mgilson 06.11.2012 21:21
quelle
5

So würde ich das schreiben:

%Vor%

Die Funktion kann etwas verkürzt werden, indem man itertools verwendet, aber ich persönlich finde das Ergebnis weniger lesbar:

%Vor%

Das Schöne an der zweiten Version ist, dass sie vollständig generatorbasiert sein kann und somit verhindert, dass alle Wörter der Datei gleichzeitig im Speicher bleiben.

    
NPE 06.11.2012 21:06
quelle
3

Es gibt mehrere Möglichkeiten, dies zu tun. Hier sind ein paar:

Wenn Ihnen wiederholte Wörter egal sind :

%Vor%

Wenn Sie eine Liste von Wörtern zurückgeben möchten, in denen jedes Wort nur einmal angezeigt wird :

Hinweis: Dadurch wird die Reihenfolge der Wörter nicht beibehalten.

%Vor%

Wenn Sie eine Menge möchten --und-- wollen Sie die Reihenfolge der Wörter beibehalten :

%Vor%

Wenn Sie ein Wörterbuch mit Worthäufigkeiten möchten :

%Vor%

Ich hoffe, diese Hilfe

    
inspectorG4dget 06.11.2012 21:34
quelle

Tags und Links