我有一个来自 Moby Project 的文件将单词与一个或多个表示其词性的字母配对。例如:
hemoglobin\N
hemogram\N
hemoid\A
hemolysin\N
hemolysis\N
hemolytic\A
hemophile\NA
hemophiliac\N
血红蛋白是一个名词,hemoid是一个形容词,而hemophile可以用作名词或形容词。
我使用以下代码从此文件创建了一个字典,将单词与指示其词性的字母配对:
mm = open("mobypos.txt").readlines()
pairs = []
for x in mm:
pairs.append(x.split("\\"))
posdict = dict(pairs)
此操作成功。我想要做的是生成名为名词
、动词
、形容词
等的列表,其中包含该词性的所有单词。鉴于 len(posdict.keys())
返回 233340
最佳答案
您可以使用列表理解
nouns = [word, type in posdict.iteritems() if 'N' in type]
adjs = [word, type in posdict.iteritems() if 'A' in type]
verbs = [word, type in posdict.iteritems() if 'V' in type]
在if
子句中使用in
运算符将相应地放置多种类型的单词。
关于来自 mobypos.txt 文件的 Python 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31587846/