У вас есть список словарей, представляющих информацию о книгах. Каждый словарь содержит поля «название» (title), «автор» (author) и «год выпуска» (year). Напишите функцию на Python, которая принимает такой список книг и возвращает словарь, в котором ключами являются года выпуска, а значениями — списки книг, выпущенных в этот год. Книги в каждом списке должны быть упорядочены по алфавиту по названию.
Решение:
1. Используем defaultdict(list), чтобы автоматически создавать пустой список для каждого года.
2. Книги сортируем по названию перед группировкой, чтобы списки книг в каждом году были упорядочены по алфавиту.
3. Проходим по отсортированным книгам и добавляем их в соответствующие списки годов в словаре.
Решение:
1. Используем defaultdict(list), чтобы автоматически создавать пустой список для каждого года.
2. Книги сортируем по названию перед группировкой, чтобы списки книг в каждом году были упорядочены по алфавиту.
3. Проходим по отсортированным книгам и добавляем их в соответствующие списки годов в словаре.
Forwarded from Библиотека питониста | Python, Django, Flask
🐍 Итоги недели в мире Python и обзоры новых инструментов
У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали новый выпуск на📰 .
Ниже — небольшая часть выпуска, а целиком читайте здесь 👈
😏 Мнение: пора переключаться с бэкенда на ИИ
Общемировой тренд — увеличение спроса на ИИ-разработчиков. И у Python-специалистов есть огромное преимущество — они без особых усилий могут переключиться с бэкенда на машинное обучение. Автор этой публикации рассказал, с чего проще всего начать — с изучения супервостребованной RAG-технологии.
🎩 Hatchet — эффективная альтернатива Celery
Hatchet — это новая система распределения задач для управления сложными процессами. Она позволяет создавать отказоустойчивые процессы, решающие проблемы параллелизма, справедливости распределения задач и ограничения скорости обработки. Обо всех преимуществах Hatchet читайте в рассылке.
🌐 Niquests — продвинутая альтернатива Requests
Новая библиотека лишена некоторых недостатков старой, а также имеет дополнительные фичи. Какие — подробно рассказываем в статье на vc.
➡ Вы можете подписаться на email-рассылку здесь
У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали новый выпуск на
Ниже — небольшая часть выпуска, а целиком читайте здесь 👈
Общемировой тренд — увеличение спроса на ИИ-разработчиков. И у Python-специалистов есть огромное преимущество — они без особых усилий могут переключиться с бэкенда на машинное обучение. Автор этой публикации рассказал, с чего проще всего начать — с изучения супервостребованной RAG-технологии.
🎩 Hatchet — эффективная альтернатива Celery
Hatchet — это новая система распределения задач для управления сложными процессами. Она позволяет создавать отказоустойчивые процессы, решающие проблемы параллелизма, справедливости распределения задач и ограничения скорости обработки. Обо всех преимуществах Hatchet читайте в рассылке.
🌐 Niquests — продвинутая альтернатива Requests
Новая библиотека лишена некоторых недостатков старой, а также имеет дополнительные фичи. Какие — подробно рассказываем в статье на vc.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🎸 Курс Django. Часть 3: Основы работы с формами
В новой части курса разбираем основные методы создания, кастомного рендеринга и кастомной валидации форм.
🔗 Читать статью
🔗 Зеркало
➕ Предыдущие части:
Часть 1: Django — что это? Обзор и установка фреймворка, структура проекта
Часть 2: ORM и основы работы с базами данных
В новой части курса разбираем основные методы создания, кастомного рендеринга и кастомной валидации форм.
🔗 Читать статью
🔗 Зеркало
➕ Предыдущие части:
Часть 1: Django — что это? Обзор и установка фреймворка, структура проекта
Часть 2: ORM и основы работы с базами данных
Вы реализуете функцию для анализа текста, которая должна возвращать слово, которое встречается в тексте наиболее часто, не учитывая регистр букв. Если два или более слов имеют одинаковую максимальную частоту, функция должна вернуть слово, которое встречается в тексте первым. Напишите эффективную функцию на Python для решения этой задачи.
Функция most_frequent_word анализирует предоставленный текст, разделяет его на слова, приводит к нижнему регистру для игнорирования различий в написании, и подсчитывает частоту каждого слова. Затем функция возвращает слово с наибольшей частотой, при этом если есть несколько слов с одинаковой частотой, выбирается то, которое встретилось в тексте первым.
Функция most_frequent_word анализирует предоставленный текст, разделяет его на слова, приводит к нижнему регистру для игнорирования различий в написании, и подсчитывает частоту каждого слова. Затем функция возвращает слово с наибольшей частотой, при этом если есть несколько слов с одинаковой частотой, выбирается то, которое встретилось в тексте первым.
Основы программирования на Python
Курс для тех, кто хочет начать свою карьеру в IT и научится программировать на одном из самых востребованных языков.
Начните обучение с вводных занятий – https://proglib.io/w/e856750c
Вводные занятия содержат:
– лекцию по условным инструкциям if/else и зачем они нужны;
– лекцию по операциями с целыми и вещественными числами;
– практические задания для закрепления материала, которые научат работать с условными операторами и создавать вложенные инструкции.
👉 Переходите на страницу и активируйте доступ к вводным занятиям: https://proglib.io/w/e856750c
Курс для тех, кто хочет начать свою карьеру в IT и научится программировать на одном из самых востребованных языков.
Начните обучение с вводных занятий – https://proglib.io/w/e856750c
Вводные занятия содержат:
– лекцию по условным инструкциям if/else и зачем они нужны;
– лекцию по операциями с целыми и вещественными числами;
– практические задания для закрепления материала, которые научат работать с условными операторами и создавать вложенные инструкции.
👉 Переходите на страницу и активируйте доступ к вводным занятиям: https://proglib.io/w/e856750c
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🚀 Niquests: новый стандарт HTTP-клиентов в Python, превосходящий Requests
Библиотека Requests долгое время была де-факто стандартом для HTTP-запросов в Python, но у неё есть ряд серьезных недостатков. Инновационная библиотека Niquests не только исправляет ошибки Requests, но и предлагает множество улучшений.
В новой статье рассказываем обо всех преимуществах Niquests.
🔗 Читать статью
🔗 Зеркало
Библиотека Requests долгое время была де-факто стандартом для HTTP-запросов в Python, но у неё есть ряд серьезных недостатков. Инновационная библиотека Niquests не только исправляет ошибки Requests, но и предлагает множество улучшений.
В новой статье рассказываем обо всех преимуществах Niquests.
🔗 Читать статью
🔗 Зеркало
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🎸 Курс Django: Сложная форма с кастомной капчей
В новой части курса делаем анкету с различными виджетами, защищаем форму с помощью капчи, автоматически отправляем данные и вложенные файлы на email.
🔗 Читать статью
🔗 Зеркало
Предыдущие части:
Часть 1: Django — что это? Обзор и установка фреймворка, структура проекта
Часть 2: ORM и основы работы с базами данных
Часть 3: Основы работы с формами
В новой части курса делаем анкету с различными виджетами, защищаем форму с помощью капчи, автоматически отправляем данные и вложенные файлы на email.
🔗 Читать статью
🔗 Зеркало
Предыдущие части:
Часть 1: Django — что это? Обзор и установка фреймворка, структура проекта
Часть 2: ORM и основы работы с базами данных
Часть 3: Основы работы с формами
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
Forwarded from Библиотека питониста | Python, Django, Flask
This media is not supported in your browser
VIEW IN TELEGRAM
🐍🎩 Hatchet: новый король распределения задач, который затмит Celery
Ваша система распределения задач тормозит проект? Пора переходить на Hatchet! Этот инновационный менеджер очередей решает проблемы, с которыми не справляются устаревшие инструменты.
Hatchet позволяет создавать отказоустойчивые процессы, решающие проблемы параллелизма, справедливости распределения задач и ограничения скорости обработки.
👉Обо всех преимуществах Hatchet рассказали в статье👈
🔗 Зеркало
Ваша система распределения задач тормозит проект? Пора переходить на Hatchet! Этот инновационный менеджер очередей решает проблемы, с которыми не справляются устаревшие инструменты.
Hatchet позволяет создавать отказоустойчивые процессы, решающие проблемы параллелизма, справедливости распределения задач и ограничения скорости обработки.
👉Обо всех преимуществах Hatchet рассказали в статье👈
🔗 Зеркало
#вопросы_с_собеседований
Реализуйте алгоритм поиска в ширину (BFS - Breadth-First Search) для графа на Python. Напишите код и объясните, как работает этот алгоритм. Обсудите его сложность и применение.
Объяснение:
Алгоритм поиска в ширину (BFS) используется для обхода или поиска в графе. Он начинает с выбора стартовой вершины и пошагово распространяется по всем смежным вершинам.
Шаги алгоритма:
1. Создается пустое множество
2. Стартовая вершина добавляется в очередь и отмечается как посещенная.
3. Пока очередь не пуста, извлекается вершина из начала очереди (
4. Выводится значение текущей вершины и добавляются в очередь все её смежные вершины, которые еще не были посещены.
5. Шаги 3-4 повторяются до тех пор, пока очередь не опустеет.
Сложность:
Временная сложность: O(V + E), где V — количество вершин, E — количество ребер в графе.
Пространственная сложность: O(V), так как используется множество для отслеживания посещенных вершин.
Применение:
BFS применяется в задачах поиска кратчайших путей в невзвешенных графах.
Он также используется в задачах, связанных с обходом графов, например, в нахождении компонент связности.
Реализуйте алгоритм поиска в ширину (BFS - Breadth-First Search) для графа на Python. Напишите код и объясните, как работает этот алгоритм. Обсудите его сложность и применение.
Объяснение:
Алгоритм поиска в ширину (BFS) используется для обхода или поиска в графе. Он начинает с выбора стартовой вершины и пошагово распространяется по всем смежным вершинам.
Шаги алгоритма:
1. Создается пустое множество
visited
для отслеживания посещенных вершин и очередь queue для управления порядком обхода.2. Стартовая вершина добавляется в очередь и отмечается как посещенная.
3. Пока очередь не пуста, извлекается вершина из начала очереди (
queue.popleft()
).4. Выводится значение текущей вершины и добавляются в очередь все её смежные вершины, которые еще не были посещены.
5. Шаги 3-4 повторяются до тех пор, пока очередь не опустеет.
Сложность:
Временная сложность: O(V + E), где V — количество вершин, E — количество ребер в графе.
Пространственная сложность: O(V), так как используется множество для отслеживания посещенных вершин.
Применение:
BFS применяется в задачах поиска кратчайших путей в невзвешенных графах.
Он также используется в задачах, связанных с обходом графов, например, в нахождении компонент связности.
Что выведет код?
Anonymous Quiz
8%
1, 2, 3, {'x': 4, 'y': 5}
61%
1 (2, 3) {'x': 4, 'y': 5}
13%
1, 2, 3, 'x=4', 'y=5'
18%
1, 2, 3, 4, 5
35% на курс основы программирования на Python
🌟 Основы программирования на Python 🌟
12 990 рублей19 990 рублей до 1 апреля
Освоите знания для старта карьеры и научитесь программировать на одном из самых востребованных языков программирвоания.
Вас ждет бессрочный доступ ко всем материалам курса и развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
🔥 Переходите и активируйте вводные занятия курса — https://proglib.io/w/9196416b
🌟 Основы программирования на Python 🌟
12 990 рублей
Освоите знания для старта карьеры и научитесь программировать на одном из самых востребованных языков программирвоания.
Вас ждет бессрочный доступ ко всем материалам курса и развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
🔥 Переходите и активируйте вводные занятия курса — https://proglib.io/w/9196416b
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🛠️ 32 инструмента для Python, которые помогут писать профессиональный код
В статье собрали полезные инструменты для написания чистого, читаемого и безопасного Python-кода: автоформатировщики, линтеры, инструменты проверки типов, фреймворки для юнит-тестирования и генераторы документации.
🔗 Читать статью полностью
🔗 Зеркало
В статье собрали полезные инструменты для написания чистого, читаемого и безопасного Python-кода: автоформатировщики, линтеры, инструменты проверки типов, фреймворки для юнит-тестирования и генераторы документации.
🔗 Читать статью полностью
🔗 Зеркало