Heim  >  Artikel  >  Datenbank  >  So zählen Sie die Anzahl der Vorkommen von Buchstaben in Python

So zählen Sie die Anzahl der Vorkommen von Buchstaben in Python

php中世界最好的语言
php中世界最好的语言Original
2018-04-09 17:54:0512977Durchsuche

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.

Vorwort:

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.

Analyse

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 lesen

https://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

Programmiersprachen, die es zu lernen gilt Ausdrücke, aber auch andere APIs. Nur wenn wir mit der API vertraut sind, können wir sie auf tatsächliche Szenarien anwenden. Ich empfehle einen Artikel über reguläre Ausdrücke: http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html Außerdem habe ich festgestellt, dass einige Studenten die Jieba-Wortsegmentierungsbibliothek eingeführt haben Die Segmentierung chinesischer Wörter durch die Bibliothek ist sehr nützlich. Wenn Sie interessiert sind, können Sie sich darüber informieren.

Umsetzung

Nach der Analyse können wir es tatsächlich sehr schnell umsetzen. Wenn wir also eine Anforderung erhalten, müssen wir zunächst die Anforderung klären und darüber nachdenken, mit welchen Technologien sie erreicht werden kann, und dann mit dem Schreiben von Code beginnen. Tatsächlich verbringen wir bei der Arbeit weniger als die Hälfte der Zeit mit dem Schreiben von Code.

# -*- 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)
Ergebnisse drucken:

('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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn