Es ist ein Herausforderungsrekord von 100 Sprachverarbeitungsklopfen 2015. Die Umgebung ist Ubuntu 16.04 LTS + Python 3.5.2 : : Anaconda 4.1.1 (64-Bit). Klicken Sie hier, um eine Liste der vergangenen Schläge anzuzeigen (http://qiita.com/segavvy/items/fb50ba8097d59475f760).
Suchen Sie den in "paraparaparadise" und "Absatz" enthaltenen Satz von Zeichen-Bi-Gramm als X bzw. Y und suchen Sie die Summen-, Produkt- und Differenzsätze von X bzw. Y. Finden Sie außerdem heraus, ob das Bi-Gramm in X und Y enthalten ist.
Der fertige Code:
main.py
# coding: utf-8
def n_gram(target, n):
'''N aus der angegebenen Liste-Erstellen Sie ein Gramm
Streit:
target --Zielliste
n -- n-Gramm n Wert (1 ist uni-Gramm, 2 für bi-gram...)
Rückgabewert:
Liste der Gramm
'''
result = []
for i in range(0, len(target) - n + 1):
result.append(target[i:i + n])
return result
#Set erstellen
set_x = set(n_gram('paraparaparadise', 2))
print('X:' + str(set_x))
set_y = set(n_gram('paragraph', 2))
print('Y:' + str(set_y))
#Summensatz
set_or = set_x | set_y
print('Summensatz:' + str(set_or))
#Produktset
set_and = set_x & set_y
print('Produktset:' + str(set_and))
#Differenz gesetzt
set_sub = set_x - set_y
print('Differenz gesetzt:' + str(set_sub))
# 'se'Ist enthalten?
print('se ist in X enthalten:' + str('se' in set_x))
print('se ist in Y enthalten:' + str('se' in set_y))
Ausführungsergebnis:
Terminal
X:{'ar', 'se', 'di', 'is', 'pa', 'ap', 'ad', 'ra'}
Y:{'ar', 'gr', 'ph', 'ra', 'pa', 'ap', 'ag'}
Summensatz:{'ar', 'gr', 'se', 'ph', 'di', 'is', 'pa', 'ap', 'ad', 'ra', 'ag'}
Produktset:{'ar', 'ap', 'pa', 'ra'}
Differenz gesetzt:{'di', 'is', 'se', 'ad'}
se ist in X enthalten:True
se ist in Y enthalten:False
n_gram ()
ist eine Wiederverwendung von vorherige Frage.
Für die Antworten von Senioren set.union ()
, set.intersection ()
, set.difference ()
# set.difference) wird häufig verwendet. Es wird gesagt, dass es besser lesbar ist, aber ich kann nicht gut Englisch, also sind |
, &
und -
intuitiver, also habe ich es versucht.
Trotzdem wird paraparaparadise an einem solchen Ort erscheinen ^^ Das ist alles für den 7. Schlag. Wenn Sie Fehler haben, würde ich mich freuen, wenn Sie darauf hinweisen könnten.
Recommended Posts