Извлечь из файла слова с определенным len - PullRequest
0 голосов
/ 31 мая 2018

У меня есть файл, содержащий предложения.Я хочу извлечь эти предложения из списка и удалить слова с длиной <= 3 </p>

. Это то, что у меня есть сейчас:

with open("./data/pos/train-pos.txt", "r", encoding="utf8") as f:
    train_pos = [line.strip().lower() for line in f]
    newDoc = [word for word in train_pos if len(word) >= 3]
    print(newDoc)

train-pos = ['мне нравятся яблоки »,« яблоки - мои любимые фрукты »]

И я хочу получить: ['like apples', 'apples favorite fruits'], но я получаю тот же список.В чем проблема?Я хочу сделать это очень оптимальным способом, потому что train-pos.txt содержит тысячи предложений, поэтому, если ваше решение отличается от моего неправильного решения, проблем не будет.

1 Ответ

0 голосов
/ 01 июня 2018

Вы можете сделать что-то вроде этого:

>>> newDoc = [' '.join(word for word in sentence.split() if len(word) >= 3) for sentence in train_pos]
>>> newDoc
['like apples', 'apples are favorite fruits']
...