我正在尝试检索具有特定频率 ( 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])
哪种方法更好,为什么?