Ich überprüfe, ob der aufgeschnittene Teil der Wörter im Wörterbuch in der Liste ist, damit ich wissen kann, ob Wörter mit ";" oder sind zuletzt im Wörterbuchwert Nomen in Grundform.Mehr pythonischer/besserer Weg dies zu schreiben?
Ich habe diesen Code hier:
dict = {"devotion": "andumus; pühendumust", "devotional": "vagasse",
"devour": "kugistama; alla neelama", "devoured": "neelatud"}
endings2 = ["es", "te", "de", "st", "el", "le", "lt", "ks", "ni", "na", "ta", "ga", "id"]
endings3 = ["sse", "tte"]
for k, v in sorted(dict.items()):
for x in v.split():
if ((x[-1:] == ';' or x == v.split()[-1])
and (x[-3:-1] not in endings2 and x[-4:-1] not in endings3
and x[-2:] not in endings2 and x[-3:] not in endings3)):
print(k, x)
Es funktioniert, aber es ist eine Art von Hardcoded. Ich würde es vorziehen, irgendwie nur eine Liste für die Fälle/Enden zu verwenden.
die Werte in Ihrem Wörterbuch semi-Dickdarm- Sind getrennte Synonymlisten? Eine bessere Möglichkeit, eine Liste von Elementen zu speichern, ist eine Liste (oder vielleicht ein Set). – ThisSuitIsBlackNot