Определить в каких текстах встречается слово
Имеется словарь вида:
texts = {0: "какой-то текст", 1: "какой-то текст", 2: "какой-то текст", 3: "какой-то текст"}
Необходимо создать словарь, в котором будут указаны слово, как часто оно повторяется и в каких текстах, например:
result = {"word": "текст", "count": 4, "id": [0, 1, 2, 3]}
Заранее благодарю за помощь
Ответы (2 шт):
Автор решения: Edward Grachev
→ Ссылка
Counter считает кол-во повторений в списке.
from collections import Counter
texts = {10: "Вот и все", 0: "какой-то текст", 1: "какой-то текст", 2: "какой-то текст", 3: "какой-то текст"}
new = Counter(texts.values())
result = []
for key, count in new.items():
lst = []
for id, value in texts.items():
if key == value:
lst.append(id)
result.append({"word": key, "count": count, "id": lst})
print(result)
Автор решения: Danis
→ Ссылка
def f(texts, word):
res = {"word":word, "count":0, "id":[]}
for key, value in texts.items():
n = value.count(word)
if n:
res["count"] += n
res["id"].append(key)
return res
texts = {0: "какой-то текст", 1: "какой-то текст", 2: "какой-то текст", 3: "какой-то текст"}
print(f(texts, "текст"))