我正在尝试创建一个单词字典,将单词散列为整数以作进一步处理。是否可以使用defaultdict
的变体来避免检查if word not in wordid
。这是一个非常大的文件,并且需要省时的方法。
wordid=defaultdict(int)
totaluniquewords = 0
for word in sentencewords:
if word not in wordid:
totaluniquewords+=1
wordid[word]=totaluniquewords
最佳答案
这是一种更简单,更快捷的方式来获取您想要的东西:
from itertools import count
wordid = dict(zip(set(sentencewords), count(1)))
这使用
set
来获取sentencewords
中的唯一词,将每个唯一词与count()
中的下一个值(向上计数)配对,并根据结果构建字典。关于python - defaultdict的变体,仅分配一次值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33503743/