最有效的方式来计算特定频率的双字母数

时间:2016-10-20 21:35:44

标签: python python-2.7 nltk processing-efficiency coding-efficiency

我正在尝试检索具有特定频率(i)的双字母列表。

我已经设法提出了两种方法,我想知道哪种方法效率最高。我首先创建一个包含双字母组bg1的列表,然后使用nltk.FreqDist方法:

import nltk
from nltk import FreqDist
from nltk import bigrams

#setup data
from nltk.book import text1

#keep only alpha words / remove punctuation
alphlist = [w for w in list(text1) if w.isalpha()]
#create bigrams list
bg1 = bigrams(alphlist)

#create freqdist object
fdist1 = nltk.FreqDist(bg1)

方法之一首先使用most_common排序:

for obj in fdist1.most_common():
  if obj[1] == i:
    print(obj)

直接解析两个fdist1

for obj in fdist1:
  if fdist1[obj] == i:
    print(obj, fdist1[obj]) 

哪种方法更好,为什么?

0 个答案:

没有答案