Add u4/word_count.py
This commit is contained in:
parent
dc0ffb5430
commit
f30a414706
23
u4/word_count.py
Normal file
23
u4/word_count.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import re
|
||||||
|
from collections import Counter
|
||||||
|
|
||||||
|
def count_words(text: str) -> dict[str, int]:
|
||||||
|
# 1.Приводим весь текст до нижнього регістру \\\ Celý text prepíšeme do malých písmen
|
||||||
|
text = text.lower
|
||||||
|
|
||||||
|
# 2. Шукаємо всі слова: буквено-цифрові символи які можуть мати апостроф у середині (наприклад, don't або 'heslo')
|
||||||
|
|
||||||
|
# 2. Hľadáme všetky slová: alfanumerické znaky, ktoré môžu obsahovať apostrof uprostred (napríklad don't alebo ‚heslo‘)
|
||||||
|
|
||||||
|
words = re.findall(r"[a-z0-9áäčďéíľňóôŕšťúýž]+(?:'[a-z0-9áäčďéíľňóôŕšťúýž]+)?", text)
|
||||||
|
# 3. Рахуємо кількість входжень кожного слова /// Spočítame počet výskytov každého slova
|
||||||
|
return dict(Counter(words))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# "[a-z0-9áäčďéíľňóôŕšťúýž] шукає послідовність з однієї або більше букв (усі словацькі символи включно) чи цифр.
|
||||||
|
# hľadá reťazec pozostávajúci z jedného alebo viacerých písmen (vrátane všetkých slovenských znakov) alebo číslic.
|
||||||
|
|
||||||
|
# (?: необов'язкова група (може зустрічатися 0 або 1 раз). /// nevyhnutná skupina (môže sa vyskytnúť 0 alebo 1-krát).
|
||||||
|
# '[a-z0-9áäčďéíľňóôŕšťúýž]+ — апостроф, за яким обов'язково йдуть букви або цифри. Це гарантує, що апостроф враховується лише всередині скорочення (наприклад, don't), але ігнорується, якщо це одинарна лапка навколо слова (наприклад, 'HESLO').
|
||||||
|
# '[a-z0-9áäčďéíľňóôŕšťúýž]+ — apostrof, za ktorým musia nasledovať písmená alebo číslice. Tým sa zaručí, že apostrof sa zohľadní iba vnútri skratky (napríklad don't), ale ignoruje sa, ak ide o jednoduché úvodzovky okolo slova (napríklad 'HESLO').
|
||||||
Loading…
Reference in New Issue
Block a user