Вопрос по словарям Python? Имеется список словосочетаний со счётчиком, сколько раз то или иное встречается в тексте. Пример:'Которая часто': 6, 'чулане хранится': 7, 'Который построил': 8, 'Который бранится': 2, 'хвоста Который': 4...
Нужно сложить счётчики у тех словосочетаний, которые начинаются на одно и то же слово.
Сам пытался так:from collections import Counter
for key in needed_bigrams.keys():
key = key.split(' ')[0]
if Counter(key) > 0:
print(key) # хотел для начала просто вывести-посмотреть, работает ли вообще. Не работает.TypeError: unorderable types: Counter() > int()
Так вот. Как сложить счётчики у таких словосочетаний?

21 Авг 2019 в 06:24
215 +1
0
Ответы
1

Для сложения счетчиков словосочетаний, начинающихся с одного слова, можно воспользоваться словарем, в котором ключами будут слова, а значениями - сумма счетчиков для соответствующих словосочетаний.

Вот пример кода, который поможет вам решить данную задачу:

from collections import Counter
needed_bigrams = {'Которая часто': 6, 'чулане хранится': 7, 'Который построил': 8, 'Который бранится': 2, 'хвоста Который': 4}
counters_by_first_word = {}
for key, value in needed_bigrams.items():
first_word = key.split(' ')[0]
if first_word in counters_by_first_word:
counters_by_first_word[first_word] += value
else:
counters_by_first_word[first_word] = value
for key, value in counters_by_first_word.items():
print(f"{key}: {value}")

Этот код создает словарь counters_by_first_word, в котором суммируются счетчики для слов, которые начинаются с одного и того же слова. После этого происходит вывод суммарных счетчиков для каждого уникального слова.

20 Апр в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир