我有一个来自Moby Project的文件,它将单词与一个或多个表示其词性的字母配对。例如:
hemoglobin\N
hemogram\N
hemoid\A
hemolysin\N
hemolysis\N
hemolytic\A
hemophile\NA
hemophiliac\N
血红蛋白是一个名词,类血红素是一个形容词,嗜血杆菌可以用作名词或形容词。你知道吗
我从这个文件中创建了一个dict,它使用以下代码将单词与表示其词性的字母配对:
mm = open("mobypos.txt").readlines()
pairs = []
for x in mm:
pairs.append(x.split("\\"))
posdict = dict(pairs)
这是成功的。我要做的是生成名为nouns
、verbs
、adjectives
等的列表,其中包含这个词性的所有单词。如果len(posdict.keys())
返回233340
,那么最快的方法是什么
你可以使用列表理解
在
if
子句中使用in
运算符将相应地放置具有多种类型的单词。你知道吗可以使用生成器表达式来获取相关词的迭代器:
但是请注意,由于迭代器是一次性的iterables,当您只想对它们进行迭代,而不想获取特定的项或使用一些函数(如
len
)时,最好使用它们,它们在内存使用方面非常优化。但如果你想经常使用它们,最好使用列表理解。你知道吗相关问题 更多 >
编程相关推荐