Я написал простую функцию.
def common_long_words(text):
sorted(w for w in set(text) if len(w) > 7 and (FreqDist(text))[w] > 7)
Это застряло.
Кроме того, [w for w in set(text5) if len(w) > 7 and FreqDist(text5)[w] > 7
не удается. Это просто застревает.
Однако это работает:
fdist5 = FreqDist(text5)
[w for w in set(text5) if len(w) > 7 and fdist5[w] > 7
Разве это не работает в python? Это почему? Кроме того, почему это зависает, если это неправильно, это должно появиться как ошибка, синтаксис или время выполнения.
Это работает, безупречно и быстро:
>>> def common_long_words(text):
... fdist = FreqDist(text)
... print(sorted(w for w in set(text) if len(w) > 7 and fdist[w] > 7))
...
>>> for t in all_texts:
... common_long_words(t)