2016-11-30 2 views
0

Kann die Zählmethode zum Zählen zweier Objekte verwendet werden?Verwenden der Zählmethode zum Zählen von Bigrammen

Eg. Wenn ich eine Liste wie

list = ['apple', 'red', 'potato', 'apple', 'red'] 

Könnte ich tun

word = list[0] + ',' + ' ' + list[1] 
    list.count(word) 

Und haben es 2 zurückkehren?

Ich bin mir bewusst, dass Python NTLK hat, aber ich bin nicht zu verwenden es für das Projekt erlaubt

+0

Wenn Sie Dinge in einer umfangreichen Eingabe zählen, ist es wahrscheinlich am besten, 'collections.Counter' zu verwenden: https://docs.python.org/3/library/collections.html#collections.Counter –

+1

das gewonnen hat ' t arbeiten, weil 'Wort' eine Zeichenkette ist:' "Apfel, rot" ': Sie würden 0. Ihre Frage ist unklar. –

Antwort

0

Sie es selbst mit Hilfe eines Wörterbuchs tun könnten alle Wortpaare zu speichern, wie die Schlüssel und wie viele mal tauchen sie als Werte auf. Sie müssten alle Wörter durchlaufen und alle Paare verketten und sehen, ob sie bereits in Ihrem Wörterbuch sind. Wenn sie dieses Paar um 1 erhöhen, und wenn sie nicht im Wörterbuch sind, addiere sie mit einem Wert von eins. so für das erste Paar Ihres Wörterbuch würde wie folgt aussehen:

{"apple, red":1} 

beim nächsten Mal durch die Schleife würden Sie haben:

{"apple, red":1, 
"red, potato":1} 

und durch die Zeit, die Sie fertig sind das Wörterbuch Erstellen Sie müßten :

{"apple, red":2, 
"red, potato":1, 
"potato, apple":1} 

dann können Sie nur nach dem Wortpaar suchen, das Sie möchten.

0

Sie können einfach so auf Zeichenfolge zählen:

list = ['apple', 'red', 'potato', 'apple', 'red'] 
', '.join(list).count(list[0] + ',' + ' ' + list[1]) 

Es wird einfach eine Zeichenfolge erstellen ‚Apfel, rot, Kartoffel, Apfel, rot‘ und auf, dass es wie oft ‚Apfel, rot zählen ' ist da drin.

Verwandte Themen