Быстрое удаление низкочастотных слов в Python - PullRequest
0 голосов
/ 10 ноября 2018

В приведенном ниже коде lowFrequencyWords - это список с низкочастотными словами, а doc - список токенов.

doc=[w for w in doc if not w in lowFrequencyWords]

Проблема в том, что этот кусок кода длится вечно.

Я уверен, но я считаю, что проблема в том, что операция удаления промежуточного элемента из списка стоит O (n), где n - размер списка. Поскольку число lowFrequencyWords гигантское, python должен повторять это много раз. Я искал связанные списки, но я считаю, что они недоступны в Python.

1 Ответ

0 голосов
/ 10 ноября 2018

из комментариев: @Patrick Artner сделать lowFrequencyWords заморозкой (lowFrequencyWords) для начала с

...