Dieses Mal zeige ich Ihnen, wie Sie die Anzahl der Buchstaben in Python zählen. Was sind die Vorsichtsmaßnahmen zum Zählen der Anzahl der Buchstaben in Python? ein Blick.
Titel:
Zählen Sie die Häufigkeit jedes Worts in einer Datei und listen Sie die 5 häufigsten Wörter auf.
Diese Frage wird häufig in praktischen Anwendungsszenarien verwendet, beispielsweise in Statistiken über die hochrangigen Studenten, die in der erschienen sind Bei den CET-4- und CET-6-Prüfungen erinnere ich mich, dass Li Xiaolai im Laufe der Jahre ein Bestseller-Buch über das Auswendiglernen von Wörtern veröffentlichte, das bei Schülern sehr beliebt war. Dies ist ein typisches Szenario, in dem Programmierkenntnisse zur Lösung realer Probleme eingesetzt werden. Darüber hinaus basieren diese Wortwolkeneffekte bei der Datenanalyse im Wesentlichen auf Worthäufigkeitsstatistiken, um die Schriftgröße anzupassen. Wenn Sie das Wissen in Python geschickt nutzen können, um Probleme zu lösen, bedeutet dies, dass Sie wirklich mit Python beginnen.
Diese Frage untersucht hauptsächlich die folgenden Aspekte des Wissens:
1. Wie man richtig liest Dateien schreiben
Zum Lesen und Schreiben von Dateien in Python können Sie die integrierte Funktion open() verwenden, und die Funktion open weist in Python2 und Python3 bestimmte Unterschiede auf In Python können Sie beispielsweise das Lese-Codierungsformat zum Schreiben von Dateien angeben, Python kann jedoch nicht mit 2 und 3 kompatibel sein. Wir verwenden normalerweise die Open-Funktion unter dem io-Modul Machen Sie den Unterschied zwischen ihnen deutlich und fördern Sie die Fähigkeit zum aktiven Lernen und zur Informationsprüfung.
Ein weiterer Punkt ist, dass der Dateideskriptor nach dem Lesen und Schreiben der Datei geschlossen werden muss. Zusätzlich zur Verwendung der try...except...finally-Syntax können wir auch die elegantere with... verwenden. .as-Syntax, um die Datei automatisch zu schließen.2. So sortieren Sie Daten
Die Sortierfunktion ist eine häufig verwendete integrierte Funktion und ihre Verwendung ist auch sehr leistungsfähig, da sie Schlüsselparameter angeben kann Führen Sie eine benutzerdefinierte Sortierung durch, was bedeutet, dass Sie nicht nur Zahlen und Buchstaben, sondern auch Listen, Wörterbücher und benutzerdefinierte Objekte sortieren können. Sie müssen der Sortierfunktion lediglich die Sortierregeln mitteilen, z. B. Für ein Personenobjekt kann ich Sortieren Sie es nach Alter oder Größe und Gewicht, daher ist diese Funktion sehr flexibel. Darüber hinaus gibt es eine integrierte Sortiermethode für Listenobjekte. Wenn Sie den Unterschied zwischen list.sort und sorted klar unterscheiden können, können Sie dies bereits tun es flexibel.3. Verwendung des Wörterbuch--Datentyps
Für die Erstellung von Worthäufigkeitsstatistiken ist die Verwendung eines Wörterbuchs bei Wörtern zweifellos der am besten geeignete Datentyp Als Schlüssel des Wörterbuchs wird die Häufigkeit, mit der ein Wort vorkommt, als Wert des Wörterbuchs verwendet, und die Häufigkeit jedes Worts kann leicht aufgezeichnet werden. Das Wörterbuch ähnelt unserem Telefonbuch, wobei jedem Namen eine Telefonnummer zugeordnet ist . Darüber hinaus besteht das größte Merkmal des Wörterbuchs darin, dass seine Abfragegeschwindigkeit sehr hoch ist. Unter idealen Umständen beträgt die Zeitkomplexität O(1). Wenn Sie mehr über Wörterbücher erfahren möchten, wird empfohlen, diesen Artikel zu lesenhttps://www.laurentluce.com/ Beiträge/ Python-Wörterbuch-Implementierung/
4. Die Verwendung von regulären Ausdrücken
Für die Text- und Zeichenfolgenverarbeitung sind reguläre Ausdrücke einfach eine Artefakt. Es wird häufig zum Durchsuchen von Daten oder zum Bereinigen von Daten verwendet. Natürlich gibt es nicht alle# -*- coding:utf-8 -*- import io import re class Counter: def init(self, path): """ :param path: 文件路径 """ self.mapping = dict() with io.open(path, encoding="utf-8") as f: data = f.read() words = [s.lower() for s in re.findall("\w+", data)] for word in words: self.mapping[word] = self.mapping.get(word, 0) + 1 def most_common(self, n): assert n > 0, "n should be large than 0" return sorted(self.mapping.items(), key=lambda item: item[1], reverse=True)[:n] if name == 'main': most_common_5 = Counter("importthis.txt").most_common(5) for item in most_common_5: print(item)
('ist', 10)
('besser', 8)
('als', 8)
('das', 6)
('zu' , 5)
Zusammenfassung
Wenn ich mir Ihren Code anschaue, sind viele Codes immer noch unregelmäßig benannt (empfohlen, PEP8 zu lesen) , das Code-Layout ist verwirrend (es ist schwer zu lesen, es wird empfohlen, Pycharm zur Formatierung zu verwenden). Es gibt auch viele Codes, deren Implementierungsmethoden sehr kompliziert aussehen (je komplexer der Code, desto mehr Fehler weist er normalerweise auf). Natürlich ist die Implementierungsmethode nicht die einzige.
Zum Beispiel stellt das Python-Modul selbst eine Collections.Counter-Klasse bereit, die von der dict-Klasse erbt und für Statistiken verwendet wird. Bitte seien Sie vorsichtig Ich habe festgestellt, dass der Counter, den ich implementiert habe, dem Counter unter Sammlungen sehr ähnlich ist. Wenn Sie Räder herstellen, ist dies natürlich nicht erforderlich Stellen Sie Ihre eigenen Räder her, es sei denn, Sie haben das Vertrauen, es besser zu machen. Sie können auch darüber nachdenken, was Sie tun würden, wenn Python das Counter-Tool nicht bereitstellen würde.
Darüber hinaus stellt dieses Modul auch ein geordnetes Wörterbuchobjekt OrderedDict bereit, das uns manuelle Sortiervorgänge ersparen kann. Abschließend empfehle ich Ihnen, alle oben genannten Inhalte zu studieren und zusammenzufassen. Wenn Sie 100 Tage durchhalten können, werden Sie meines Erachtens gute Python-Kenntnisse haben.
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.
Empfohlene Lektüre:
So konvertieren Sie eine Matrix in eine Liste in Python
Listen, Arrays und Matrizen interagieren miteinander in der Python-Konvertierungsmethode
Das obige ist der detaillierte Inhalt vonSo zählen Sie die Anzahl der Vorkommen von Buchstaben in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!