Напишите функцию, которая принимает строку и возвращает словарь, где ключами являются слова из строки, а значениями — количество их вхождений. Игнорируйте регистр и знаки препинания.
Пример:
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Решение задачи
import re
from collections import Counter
def count_words(text):
# Убираем знаки препинания и приводим к нижнему регистру
words = re.findall(r'\b\w+\b', text.lower())
# Подсчитываем количество вхождений каждого слова
return Counter(words)
# Пример использования:
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье чувак не нашёл нормальных бесплатных чекеров гуглофильтров и запилил свой. На Python, с визуализацией в Dash. Показывает как отследить фильтры сайта по данным из Google Search Console.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Junior Python Developer
Junior Data Engineer
Junior Python Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья посвящена новому free-threaded режиму в CPython 3.13, который открывает возможности параллельного выполнения потоков. Рассматриваются особенности его использования и влияние на производительность.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается, как работает Pine Script — язык для создания индикаторов и стратегий прямо в TradingView. Покажут базовые приёмы, разберут фишки и дадут примеры на GitHub.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказывается, как автоматически строить адаптивные цветовые градиенты для категорий в дашбордах на Dash/Plotly, чтобы не мучиться с ручной палитрой. Есть примеры и готовый код.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте декоратор
measure_time
, который измеряет, сколько времени заняла работа функции. Это полезно при профилировании кода, особенно если вы оптимизируете производительность.Решение задачи
import time
def measure_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
duration = time.time() - start
print(f'Функция {func.__name__} выполнена за {duration:.4f} секунд')
return result
return wrapper
# Пример использования:@measure_time
def slow_operation():
time.sleep(2)
return "Готово!"
print(slow_operation()) # Функция slow_operation выполнена за 2.00 секунд
Please open Telegram to view this post
VIEW IN TELEGRAM
Данная статья навеяна мнением о том, что все участки биржевых графиков в прошлом уже повторялись, потому что поведение участников рынка подчиняется типовым сценариям. И если оцифровать все графики, то можно находить похожие участки в текущий момент времени и предполагать, какое движение будет в ближайшее время.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказываю, как начать писать терминал на Python с собственной примитивной файловой системой — первая часть серии. Стартуем с filesystem.py и классов для диска и файлов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
enumerate()
в Python и зачем он нужен?enumerate()
— это встроенная функция, которая добавляет счётчик к итерируемому объекту. Полезна, когда нужно получить и индекс, и значение при переборе списка, строки или любого итератора.fruits = ['яблоко', 'банан', 'вишня']
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
0: яблоко
1: банан
2: вишня
🗣️ Без enumerate() пришлось бы вручную управлять счётчиком. Это делает код чище, читаемее и более "питоничным".
Please open Telegram to view this post
VIEW IN TELEGRAM
Материалы лекции про конфигурационные файлы — все основные аспекты написания и использования конфигов для самых маленьких, примеры кода на python.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔗 Логику пиши отдельно от инфраструктуры
Если твой код тесно связан с базой, API или файлами — он плохо тестируется и трудно меняется.
👉 Совет: отделяй логику от среды. Пиши так, чтобы алгоритмы можно было прогнать без подключения к реальному сервису. Это ускорит разработку и позволит использовать код повторно, где угодно.
Если твой код тесно связан с базой, API или файлами — он плохо тестируется и трудно меняется.
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается, как настроить автоматический деплой Telegram-бота на сервер с использованием GitHub Actions. Это поможет ускорить обновление кода и минимизировать ошибки при ручной загрузке.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассматривается уникальная карточная игра с нулевой дисперсией, где стратегия Келли работает без риска. Разбирается механизм ставок, анализ игры и её математическая основа, описанная Томасом Кавером.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбираемся как упаковывать данные в диаграмму Sankey, от этапа проектирования до сборки финальных кортежей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
sys.setrecursionlimit()
в Python и когда его нужно использовать?Функция
sys.setrecursionlimit()
позволяет вручную изменить максимальную глубину рекурсии в Python. По умолчанию это значение составляет 1000, но при работе с глубокими рекурсивными алгоритмами (например, при обходе дерева или графа) может потребоваться больше.import sys
sys.setrecursionlimit(2000)
def recurse(n):
if n == 0:
return "Готово"
return recurse(n - 1)
print(recurse(1500)) # Без изменения лимита была бы ошибка RecursionError
🗣️ Этот метод полезен в ситуациях, где нельзя переписать код на итеративный стиль, но нужно избежать ошибки переполнения стека. Однако его следует использовать с осторожностью — слишком высокий лимит может привести к краху интерпретатора.
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье рассмотрим, почему groupby().first() в pandas — не такая уж безопасная и очевидная штука, как может показаться. Особенно когда нужно достать первую строку группы в точности, как она была в датафрейме — с NaN, с порядком, без сюрпризов.
Но для начала рассмотрим отличия first от других подобных методов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Показываю, как мы собрали MCP-сервер, который помогает чатам с LLM-ами вытаскивать данные из Битрикс24, например из CRM, и нормально отвечать пользователю на основе бизнес-контекста.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM