Визуализация 5 алгоритмов сортировки на Python
В статье вы посмотрите на реализацию и визуализацию пяти популярных алгоритмов сортировки.
Смотреть статью
#вопросы_с_собеседований
Как в классе сослаться на родительский класс?
Ответ на картинке (Функция super принимает класс и экземпляр).
Разбиение на фрагменты
Этот пример покажет, как разбить список на фрагменты и разделить его на меньшие части.
Генерируем пароли и токены
Модуль secrets используется для генерации криптографически сильных случайных чисел, подходящих для управления такими данными, как пароли, аутентификация учетной записи, токены безопасности и связанные секреты.
В частности, secrets следует использовать по умолчанию вместо генератора псевдослучайных чисел модуля random, который в свою очередь предназначен для моделирования и симуляции, а не для защиты или криптографии.
В нашем примере мы генерируем пароль из 20 символов, который будет состоять из цифр и букв английского алфавита.
Подробнее про модуль secrets можно почитать здесь.
Хвостовая рекурсия
Это особый вид рекурсии, когда функция заканчивается вызовом самой себя без дополнительных операторов. Когда это условие выполняется, компилятор разворачивает рекурсию в цикл с одним стек-фреймом, просто меняя локальные переменные от итерации к итерации.
Так, классическое определение рекурсивного факториала return N * fact(N - 1) не поддерживает хвостовую рекурсию, потому что для каждого стек-фрейма придется хранить текущее значение N.
Чтобы сделать рекурсии хвостовой, добавляют параметры-аккумуляторы. Благодаря им функция знает о своем текущем состоянии. Пусть параметр acc по умолчанию равен 1. Тогда запись с хвостовой рекурсией будет выглядеть так(см картинку).
Встроенные функции all и any
Функция all возвращает True, если переданный ей список пустой или все его элементы истинны.
Функция any возвращает True, если хотя бы один из элементов переданного списка истинный.
Функционал довольно простой и примитивный, но в некоторых ситуациях может уберечь от написания костылей. Вместе с циклами и другими конструкциями может помочь сократить громоздкие функции.
⚙️ reversed()
В Python встроенная функция reversed()
возвращает итератор, который перебирает элементы последовательности в обратном порядке. Это удобно для работы с последовательностями, когда нужен обратный порядок.
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Статические методы вызываются напрямую через имя класса, без необходимости создавать экземпляр. Метод static_method возвращает строку "Static Method". Метод class_method получает ссылку на класс cls и использует её для возвращения строки "Class Method from MyClass".Читать полностью…
Разработай прорывное решение для автоматического Code Review с помощью ИИ на хакатоне ЕВРАЗа 3.0🔥
🦾 Создай будущее Code Review с ИИ!
Участвуйте в нашем уникальном хакатоне по созданию ИИ-чатбота, который станет незаменимым помощником для разработчиков ЕВРАЗа! Выберите одно из направлений — Python, TypeScript или C#, и разработайте решение для анализа кода на соответствие нашим стандартам.
Дата: 29 ноября – 1 декабря 2024.
Формат: гибридный (онлайн и офлайн).
Призовой фонд: 500.000 рублей.
🧑💻 Присоединяйся к хакатону, если ты:
– AI-специалист;
– Frontend / Backend-разработчик;
– Студент или выпускник технического вуза.
⚡️ Зачем участвовать?
– Прокачаешь скиллы и получишь обратную связь от ведущих экспертов отрасли.
– Прикоснешься к ИТ в ЕВРАЗе.
– Получишь возможность стать частью масштабной и амбициозной команды ЕВРАЗа.
🔸 Регистрация уже открыта! Подай заявку до 25 ноября 23:59 МСК по ссылке.
⚙️ Пользуемся интерактивной доской Unidraw теперь в основной версии
Вчера сервис Т-Банка Unidraw перешел из бета-версии в основную. В интервью CNews Павел Ахметчанов рассказал, что это будет значить для пользователей.
Среди обновлений – новая модель данных, по созданию новых Shapes, так был добавлен треугольник, и в ближайшее время ожидается большое расширение библиотеки элементов, кроме этого обновлены и дизайн меню и тулбаров.
Сервис доступен для пользователей с августа, за это время к нему присоединилось больше 40 тысяч человек.
⚙️ itertools.accumulate()
В Python функция itertools.accumulate()
вычисляет накопительные суммы или результаты других операций (например, произведение) над итерируемым объектом. Полезна для анализа последовательностей.
#вопросы_с_собеседований
Как работает функция zip() в Python, что произойдет, если переданные итерируемые объекты имеют разную длину, и как можно преобразовать результат работы этой функции обратно в оригинальные последовательности?
Ответ ⬇️
Функция zip() берет несколько итерируемых объектов и объединяет их в один итератор, который возвращает кортежи, сформированные из элементов входных последовательностей. Если переданные итерируемые объекты имеют разную длину, zip() завершает свою работу, как только самая короткая из последовательностей исчерпается.
Чтобы преобразовать результат zip() обратно в исходные последовательности, можно использовать распаковку с * (оператор звездочка), которая разделяет кортежи на отдельные списки.
Пример использования ⚙️
# Объединяем два спискаЧитать полностью…
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30]
# zip объединяет элементы двух списков
zipped = zip(names, ages)
print(list(zipped)) # [('Alice', 25), ('Bob', 30)]
# Разъединяем с помощью распаковки
zipped_again = zip(names, ages) # Создаем заново, так как zip() исчерпаем
unzipped_names, unzipped_ages = zip(*zipped_again)
print(unzipped_names) # ('Alice', 'Bob')
print(unzipped_ages) # (25, 30)
Генерируем ip адреса
С помощью следующего фрагмента кода мы можем с легкостью сгенерировать ip адрес.
⚡️Всероссийский Хакатон ФИЦ 2024
🚀Попробуйте себя в одном из предложенных кейсов:
- Разработка алгоритма трекинга людей в видеопотоке с нескольких камер
- Цифровая карта подземных коммуникаций с использованием Cesium
- Симуляция записи в расписание
- Цифровой сервис для ведения реестра зеленых насаждений города Москвы
- Предсказание необходимого количества средств досмотра
- Система контроля и управления доступом
- Семантический делитель текстов
- Разработка сервиса печати этикеток для производителей одежды
И др. кейсы смотрите на сайте: https://фиц2024.рф/hackathon
Хакатон пройдет в 2 этапа: Отборочный этап в Онлайн, Финал в Офлайн.
🏆Призовой фонд: 6 000 000 руб.
🔥Дедлайн регистрации: 26 ноября, 23:59
📅Даты отборочного этапа: 29 ноября - 2 декабря
🦾Даты финала: 3 - 4 декабря
Зарегистрируйтесь для участия в хакатоне: https://фиц2024.рф/hackathon
#реклама
О рекламодателе
#вопросы_с_собеседований
Выведите список файлов в указанной директории
Ответ на картинке.
⬇️Как переименовать файл с помощью Python
С помощью метода rename модуля os мы можем с легкостью изменить имя файла.
Прожарка резюме для Python-разработчиков завтра
Ребята из менторской программы ШОРТКАТ разберут на эфире реальные резюме и подскажут, что улучшить, чтобы точно дойти до собеса.
Когда: завтра, 28 ноября в 19:00 по мск
Ревьюит резюме рекрутер с опытом работы в Яндексе и Т-Банке.
☑️ Если хотите закинуть своё резюме, подпишитесь на бота @shortcut_python_bot — резюме будут собирать там
☑️ Если закидывать нечего, но хочется посмотреть со стороны — тоже подписывайтесь на бота @shortcut_python_bot. Там будет ссылка на трансляцию и запись после
После эфира все получат памятку, как использовать ChatGPT для резюме. Ссылку пришлют, не поверите, тоже в боте @shortcut_python_bot
Короче, подпишитесь на бот, чтобы ничего не пропустить @shortcut_python_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqvN5ns9
Рекурсия и Фибоначчи
Python, как и большинство других языков, даёт возможность вызова функции в теле самой этой функции. Такой принцип работы называется рекурсией.
В примере вы можете наблюдать функцию, которая использует рекурсию для вычисления чисел из ряда Фибоначчи — это ряд чисел, в котором первые два числа являются 0 и 1, а каждое последующее число — сумма двух предыдущих.
Программа годится как учебный пример, однако на больших числах начинает зависать и медленно работать — требуется оптимизация.
Устроиться аналитиком в Яндекс за выходные
7–8 декабря проводим Weekend Offer Analytics. До 4 декабря оставьте заявку на участие, 7 декабря пройдите технические собеседования, а 8 декабря познакомьтесь с командами и получите офер.
В мероприятии участвует 7 команд: Crowd, Карты, Поиск, YaGPT 2, Автономный транспорт, Реклама и Ecom-сценарии. Вы сможете пообщаться с менеджерами и выбрать проект, который покажется самым интересным.
Нанимаем в офисы России и Республики Беларусь.
Узнать подробности и зарегистрироваться можно здесь.
Создаем случайную строку в Python
Чтобы сгенерировать случайную строку в Python, используйте модуль строки и метод random.choices().
Строковый модуль в Python содержит различные строковые константы, включая символы ASCII для всех случаев. Он также включает отдельные константы для прописных и строчных букв, цифр и специальных символов.
Модуль random в Python выполняет случайные генерации.
⚙️str.startswith() и str.endswith()
В Python методы str.startswith()
и str.endswith()
проверяют, начинается или заканчивается строка на указанную подстроку. Это удобно для работы с текстом, например, валидации данных.
Короче, ищем менторов — Middle и Senior Python-разработчиков
Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков из бигтеха. Мы помогаем найти крутую работу, апнуть грейд или сменить стек.
Что надо будет делать: проводить тестовые собесы → оценивать грейд → помогать разбираться в сложных темах.
Что взамен:
• От 40К за 5-7 часов работы в неделю
• Доступ к обучению и комьюнити сильных менторов из Booking, Сбер, Oracle, Tinkoff
• Возможность выступать на эфирах, куда уже приходят 500+ джавистов, и стать заметнее на рынке
Заполняй форму — свяжемся и расскажем подробности ➡️https://forms.gle/rFY9z9GKggqfgSS76
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2Vtzqwcf5ZH
👩💻 Задача по Python: Объединение и сортировка двух списков
Напишите функцию, которая принимает два списка чисел, объединяет их, удаляет дубликаты и возвращает отсортированный список.
Пример:
list1 = [3, 1, 4, 1, 5]
list2 = [9, 2, 6, 5, 3, 5]
result = merge_and_sort(list1, list2)
print(result)
# Ожидаемый результат: [1, 2, 3, 4, 5, 6, 9]
⚙️ string.Template
В Python класс string.Template
из модуля string
позволяет подставлять значения в строки с использованием плейсхолдеров. Это удобный способ работы с шаблонами текста.
⚙️heapq.nlargest() и heapq.nsmallest()
В Python функции heapq.nlargest()
и heapq.nsmallest()
позволяют получить n наибольших или наименьших элементов из коллекции. Это удобно для задач, связанных с выборкой экстремальных значений.
Погрузитесь в мир Python с нашим бесплатным курсом!
🎓 Включено 45 уроков, 56 упражнений в тренажере и 163 проверочных теста. Узнаете, как создавать программы, работать с условиями и функциями.
Что вы освоите:
— Составление программ из нескольких модулей.
— Анализ ошибок в коде с использованием отладочной печати.
📚 Курс охватывает основы Python: синтаксис, условия, циклы, типы данных и библиотеки. Практика на каждом шаге поможет вам уверенно использовать язык.
Начните свое обучение с бесплатного базового курса Python и вы сможете создавать несложные программы, а так же анализировать ошибки в коде!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KMa9b
👩💻 Задача по Python: Поиск первого неповторяющегося символа в строке
Напишите функцию, которая находит первый символ в строке, который не повторяется. Если все символы повторяются, функция должна вернуть None.
Пример:
print(first_unique_char("swiss")) # Ожидаемый результат: "w"
print(first_unique_char("aabb")) # Ожидаемый результат: None
10 фишек Python, которые поднимут ваш скилл на новый уровень
Составили подборку из 10 фишек языка Python, которые упростят разработку, но о которых вы могли не слышать.
Смотреть статью
Проверяем, является ли заданная дата праздником
Установка модуля - pip install holidays
В нашем примере мы проверяем является ли 25 декабря 2021 в Великобритании праздником. Наша программа выдает нам, что в этот день отмечается Рождество.
Подробнее про данный модуль можно почитать здесь.
🎓 Приглашаем вас на вебинар "Обучение с учителем: разбираем задачу классификации", который состоится 18.11.2024 в 18:00! 🕕
Занятие посвящено задачам классификации, которые востребованы во всех областях Data Science. На занятии обсудим, что представляет из себя этот тип задач, какие есть подходы для её решения, а также изучим алгоритм kNN и применим его на практике.
👉 В результате урока вы:
- познакомитесь с таким классом задач, как классификация;
- изучите метрики для задачи классификации;
- узнаете, как устроен алгоритм kNN;
- научитесь применять алгоритм kNN на практике.
🔥 Не упустите возможность углубить свои знания в области классификации и машинного обучения! 📊🤖
👉 Присоединяйтесь к нам: https://otus.pw/eY41/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576