Effizienteste Weg, um herauszufinden, Ob eine Große Liste Enthält eine Bestimmte Zeichenfolge (Python)

Ich habe eine Datei, die etwa alle Wörter in Englisch (~60k Wörter, ~500k Zeichen). Ich möchte testen, ob ein bestimmtes Wort erhalte ich als input "in englischer Sprache" (d.h. wenn genau dieses Wort ist in der Liste).

Was wäre der effizienteste Weg, dies zu tun in Python?

Die triviale Lösung ist das laden der Datei in eine Liste und prüfen Sie, ob das Wort in dieser Liste. Die Liste kann sortiert werden, die ich glaube, schrumpft die Komplexität auf O(logn). Aber ich bin mir nicht sicher, wie Python implementiert die Suche durch Listen, und ob es einen performance-Strafe, wenn eine so große Liste ist im Speicher. Kann ich den "Missbrauch" der Tat, ich kann eine Kappe auf die Länge von Wörtern? (z.B. sagen, der längste ist 15 Zeichen lang).

Bitte beachten Sie ich die Anwendung auf einem Computer mit viel Arbeitsspeicher, so Sorge ich mich weniger für den Speicher-Verbrauch als für die Geschwindigkeit und die CPU-Auslastung.

Dank

InformationsquelleAutor Roee Adler | 2009-05-16
Schreibe einen Kommentar