Удаление дубликатов в словаре
Стратегия заключается в преобразовании списка словарей в список кортежей, где кортежи содержат элементы словаря.
Поскольку кортежи могут быть хешированы, вы можете удалить дубликаты с помощью set(используя здесь понимание множества , более старой альтернативой Python будет set(tuple(d.items()) for d in l)) и после этого заново создать словари из кортежей с помощью dict.
Более развернутый ответ можно найти здесь.
Стратегия заключается в преобразовании списка словарей в список кортежей, где кортежи содержат элементы словаря.
Поскольку кортежи могут быть хешированы, вы можете удалить дубликаты с помощью set(используя здесь понимание множества , более старой альтернативой Python будет set(tuple(d.items()) for d in l)) и после этого заново создать словари из кортежей с помощью dict.
Более развернутый ответ можно найти здесь.
Данные о памяти
Благодаря пакету shutil можно получить информацию о памяти на жёстком диске. Метод disk_usage возвращает количество всей, занятой и свободной памяти в байтах. В примере кода для упрощения число поделено на 10 в 9-ой степени, чтобы вывести кол-во памяти в гигабайтах, а также лишняя дробная часть после второго знака отсекается с помощью format.
Благодаря пакету shutil можно получить информацию о памяти на жёстком диске. Метод disk_usage возвращает количество всей, занятой и свободной памяти в байтах. В примере кода для упрощения число поделено на 10 в 9-ой степени, чтобы вывести кол-во памяти в гигабайтах, а также лишняя дробная часть после второго знака отсекается с помощью format.
ChainMap
ChainMap — это инструмент из модуля collections, который позволяет объединить несколько словарей в один объект, доступный как единый словарь. Это удобно, когда вам нужно работать с несколькими словарями, представляющими разные области видимости или контексты, и вам нужно установить приоритеты доступа к данным.
ChainMap — это инструмент из модуля collections, который позволяет объединить несколько словарей в один объект, доступный как единый словарь. Это удобно, когда вам нужно работать с несколькими словарями, представляющими разные области видимости или контексты, и вам нужно установить приоритеты доступа к данным.
Напишите функцию на Python, которая принимает корень бинарного дерева поиска и целое число k, и возвращает k-ый по величине элемент в этом дереве.
Условия:
Бинарное дерево поиска (BST) — это дерево, в котором каждый узел имеет не более двух детей, и для каждого узла его левое поддерево содержит только узлы с ключами, меньшими чем ключ узла, а правое поддерево — только узлы с ключами, большими чем ключ узла.
k всегда валидно и находится в пределах количества узлов в дереве.
Объяснение:
Функция kthSmallest принимает корень бинарного дерева и число k.
Вложенная функция inorder реализует обход дерева в порядке «лево-корень-право», что гарантирует получение элементов в порядке возрастания.
Рекурсивный вызов inorder собирает значения узлов в список.
Функция возвращает k-1 элемент этого списка, так как индексация в Python начинается с нуля.
Этот вопрос проверяет знания кандидата в области алгоритмов обхода дерева, рекурсии и понимания структур данных, таких как бинарные деревья поиска.
Условия:
Бинарное дерево поиска (BST) — это дерево, в котором каждый узел имеет не более двух детей, и для каждого узла его левое поддерево содержит только узлы с ключами, меньшими чем ключ узла, а правое поддерево — только узлы с ключами, большими чем ключ узла.
k всегда валидно и находится в пределах количества узлов в дереве.
Объяснение:
Функция kthSmallest принимает корень бинарного дерева и число k.
Вложенная функция inorder реализует обход дерева в порядке «лево-корень-право», что гарантирует получение элементов в порядке возрастания.
Рекурсивный вызов inorder собирает значения узлов в список.
Функция возвращает k-1 элемент этого списка, так как индексация в Python начинается с нуля.
Этот вопрос проверяет знания кандидата в области алгоритмов обхода дерева, рекурсии и понимания структур данных, таких как бинарные деревья поиска.
Сокращение ссылок
Скорее всего, хоть раз, но вы сталкивались с сервисами по сокращению ссылок. Даже, если вы сами не создавали сокращенную ссылку, то хотя бы видели таковые в описаниях к различным роликам или на сайтах.
Создать такую ссылку можно всего за три строчки кода, при помощи использования библиотеки PyShorteners. Вам нужно установить библиотеку в проект, выполнить её подключение, а также создать объект на её основе.
Установка библиотеки — pip install pyshorteners.
Скорее всего, хоть раз, но вы сталкивались с сервисами по сокращению ссылок. Даже, если вы сами не создавали сокращенную ссылку, то хотя бы видели таковые в описаниях к различным роликам или на сайтах.
Создать такую ссылку можно всего за три строчки кода, при помощи использования библиотеки PyShorteners. Вам нужно установить библиотеку в проект, выполнить её подключение, а также создать объект на её основе.
Установка библиотеки — pip install pyshorteners.
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🤖💬 Создаём бота-автоответчика для Telegram на ChatGPT и Aiogram 3: пошаговое руководство
Не так давно в Telegram вышло большое обновление — «Telegram для бизнеса». В данный момент оно доступно для Premium-пользователей, а в будущем, вероятно, станет отдельным режимом. Одна из его интересных функций — возможность подключить к учётной записи бота для взаимодействия с клиентами в личных чатах.
В новой статье мы рассказываем, как создать такого Telegram-бота, который будет принимать личные сообщения только в нерабочее время и для ответа использовать ChatGPT от OpenAI.
🔗 Читать статью
🔗 Зеркало
Не так давно в Telegram вышло большое обновление — «Telegram для бизнеса». В данный момент оно доступно для Premium-пользователей, а в будущем, вероятно, станет отдельным режимом. Одна из его интересных функций — возможность подключить к учётной записи бота для взаимодействия с клиентами в личных чатах.
В новой статье мы рассказываем, как создать такого Telegram-бота, который будет принимать личные сообщения только в нерабочее время и для ответа использовать ChatGPT от OpenAI.
🔗 Читать статью
🔗 Зеркало
Forwarded from Библиотека питониста | Python, Django, Flask
🤖🎙️ S.T.A.R.K. — первый фреймворк для создания голосового ассистента
В новой статье рассказываем о фреймворке S.T.A.R.K. (Speech and Text Algorithmic Recognition Kit), который поможет создать голосового ассистента. У него есть несколько преимуществ:
▪️S.T.A.R.K. работает полностью на устройстве, гарантируя сохранность ваших данных.
▪️С фреймворком можно легко определять контекст и параметры для последующих запросов, а также одновременно выполнять несколько команд.
▪️S.T.A.R.K позволяет использовать ведущие языковые модели.
🔗 Читать статью
🔗 Зеркало
В новой статье рассказываем о фреймворке S.T.A.R.K. (Speech and Text Algorithmic Recognition Kit), который поможет создать голосового ассистента. У него есть несколько преимуществ:
▪️S.T.A.R.K. работает полностью на устройстве, гарантируя сохранность ваших данных.
▪️С фреймворком можно легко определять контекст и параметры для последующих запросов, а также одновременно выполнять несколько команд.
▪️S.T.A.R.K позволяет использовать ведущие языковые модели.
🔗 Читать статью
🔗 Зеркало
🐍 У нас есть еженедельная 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
У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали новый выпуск на
Ниже — небольшая часть выпуска, а целиком читайте здесь 👈
🛠 Инструменты
orjson работает быстрее и обращается с JSON данными корректнее, чем стандартная библиотека (и большинство сторонних).
ipyblender_experimental позволяет использовать рендеринговый движок Blender в блокнотах Jupyter Notebook. Пока что инструмент совместим только с Python 3.10.
Resume Builder — генератор резюме: содержимое редактируется в файле resume.py, а скрипт resume_builder.py рендерит информацию в виде HTML-страницы.
Метапоисковик не индексирует веб-страницы напрямую, а агрегирует и объединяет результаты из нескольких других поисковых систем и дополнительных источников.
Please open Telegram to view this post
VIEW IN TELEGRAM
Подписывайтесь на наш новый канал про нейросети для создания изображений, там есть:
Please open Telegram to view this post
VIEW IN TELEGRAM
Преобразование изменяемых данных в неизменяемые
Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения.
Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения.
Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
Forwarded from Proglib.academy | IT-курсы
Программистам без практики никуда. Поэтому время прокачать навыки: решение задач — хороший способ развить навыки разработки.
Вам под силу эти задачи?
Please open Telegram to view this post
VIEW IN TELEGRAM
✍️Библиотека программиста» находится в поиске автора оригинальных статей
Кто нужен?
● Энтузиасты (джуны и выше), которые держат руку на пульсе, читают помимо книг зарубежные техноблоги
● Энтузиасты, которым есть что сказать
Тематика
● DevOps
● В четырех случаях из пяти вы предлагаете тему статьи
Объем
● От 7 до 15 тыс. знаков без учета кода
● 2-3 статьи в месяц
Оплата
● 8к руб. за статью
● Работаем с самозанятыми (компенсируем налог), ИП
Я пишу «так себе», что делать?
Чтобы написать статью, которую не стыдно опубликовать, достаточно овладеть инфостилем. У нас есть бесплатный курс для начинающих копирайтеров «Статьи для IT: как объяснять и распространять значимые идеи». Время прохождения курса: 1-2 недели.
✉️Пишите на hello@proglib.io
Кто нужен?
● Энтузиасты (джуны и выше), которые держат руку на пульсе, читают помимо книг зарубежные техноблоги
● Энтузиасты, которым есть что сказать
Тематика
● DevOps
● В четырех случаях из пяти вы предлагаете тему статьи
Объем
● От 7 до 15 тыс. знаков без учета кода
● 2-3 статьи в месяц
Оплата
● 8к руб. за статью
● Работаем с самозанятыми (компенсируем налог), ИП
Я пишу «так себе», что делать?
Чтобы написать статью, которую не стыдно опубликовать, достаточно овладеть инфостилем. У нас есть бесплатный курс для начинающих копирайтеров «Статьи для IT: как объяснять и распространять значимые идеи». Время прохождения курса: 1-2 недели.
✉️Пишите на hello@proglib.io
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🎓 5 задач для подготовки к собеседованию по Python
В новой статье используем алгоритмы Манакера и заметающей прямой, определяем границы окна с k-элементами, вычисляем площадь участков разного цвета и находим наибольшую увеличивающуюся подпоследовательность.
🔗 Читать статью
🔗 Зеркало
В новой статье используем алгоритмы Манакера и заметающей прямой, определяем границы окна с k-элементами, вычисляем площадь участков разного цвета и находим наибольшую увеличивающуюся подпоследовательность.
🔗 Читать статью
🔗 Зеркало
Мы наконец-то запустили канал по разработке игр — теперь все самое важное и полезное из мира геймдева можно узнать в одном месте.
Please open Telegram to view this post
VIEW IN TELEGRAM
В каких ситуациях возникает исключение NotImplementedError?
Исключение NotImplementedError возникает, когда метод или функция должны быть реализованы в подклассе, но не были реализованы. Это может произойти, когда родительский класс определяет метод, но не реализует его сам, а оставляет это для подклассов. В этом случае, если подкласс не реализует метод, он будет вызывать исключение NotImplementedError. Это может быть полезно для отладки, чтобы убедиться, что все необходимые методы реализованы в подклассах. Это также может возникнуть в других ситуациях, например, если вы пытаетесь использовать неопределенную функцию или метод.
Исключение NotImplementedError возникает, когда метод или функция должны быть реализованы в подклассе, но не были реализованы. Это может произойти, когда родительский класс определяет метод, но не реализует его сам, а оставляет это для подклассов. В этом случае, если подкласс не реализует метод, он будет вызывать исключение NotImplementedError. Это может быть полезно для отладки, чтобы убедиться, что все необходимые методы реализованы в подклассах. Это также может возникнуть в других ситуациях, например, если вы пытаетесь использовать неопределенную функцию или метод.
Proglib запускает канал Азбука айтишника
Подписывайтесь на наш новый канал про айти для неайтишников — для совсем новичков и тех, кто постоянно взаимодействует с айтишниками.
У нас есть рубрики:
⭐ База — в ней рассказываем про термины из IT простым языком
⭐ Проект — объясняем, из чего состоят айтишные проекты и сколько они могут стоить
⭐ Психология айтишника — тут говорим про софт-скиллы, особенности работы и взаимодействия
👉Подписывайтесь!
Подписывайтесь на наш новый канал про айти для неайтишников — для совсем новичков и тех, кто постоянно взаимодействует с айтишниками.
У нас есть рубрики:
👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM