0
2 комментария

Добрый день!

Есть задача: существует список строк (строка — одно слово), нужно найти в нем только те, которые встречаются один раз, и перенести в новый список. Как лучше это сделать? Пробовала сделать это с помощью функции count(), результат правильный, но занимает процесс слишком много времени.

def hapax_legomena_ratio(words):
    """Return the hapax_legomena ratio for this list of words."""
    one_time_words = []
    for word in words:
        if words.count(word) == 1:
            one_time_words.append(word)
    hapax = len(one_time_words) / len(words)
    return hapax

Решенный вопрос
Monty Python добавлен комментарий

У Вас так много данных, что count лагает? Можете указать код который у вас работает но медленно?

Anastasia Pletnyova добавлен комментарий

Да, данных много, поэтому скрипт работает минут 20. Функцию прикрепила в исходный вопрос.

Добавить комментарий