Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 17, 2015 19:54:44

Pytonist
Зарегистрирован: 2015-05-27
Сообщения: 36
Репутация: +  1  -
Профиль   Отправить e-mail  

Counter

Всем здравствуйте!
Есть отсортированный по количеству вхождений список слов, с помощью Counter(). Вопрос в следующем: как мне отобразить только те слова, которые повторяются, к примеру 8 раз? Подскажите куда смотреть.
Заранее благодарен за ответ.

Офлайн

#2 Окт. 17, 2015 20:04:23

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Counter

обернуть в filter.

Офлайн

#3 Окт. 17, 2015 22:30:30

Pytonist
Зарегистрирован: 2015-05-27
Сообщения: 36
Репутация: +  1  -
Профиль   Отправить e-mail  

Counter

4kpt_III
обернуть в filter.
Большое спасибо. Буду пробовать.

Офлайн

#4 Окт. 18, 2015 16:28:23

Kon52
Зарегистрирован: 2015-01-31
Сообщения: 66
Репутация: +  3  -
Профиль   Отправить e-mail  

Counter

Pytonist
Есть отсортированный по количеству вхождений список слов, с помощью Counter().
Counter() возвращает словарь.
По словарю можно пройтись циклом for(если значение == 8, то отобразить ключ).
Если использовали .most_common, то for по списку кортежей(если второй элемент кортежа == 8, то отобразить первый элемент).

Офлайн

#5 Окт. 18, 2015 17:13:27

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Counter

Kon52
Counter() возвращает словарь.

Это не словарь

А так да. Можно и так, если хочется попроще.

Отредактировано 4kpt_III (Окт. 18, 2015 17:14:32)

Офлайн

#6 Окт. 19, 2015 10:56:17

lancelote
Зарегистрирован: 2015-10-16
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Counter

[key for (key, value) in words.items() if value == 8]
Или через filter, как советовали выше:
filter(lambda x: words[x] == 8, words)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version