Проверка четности или нечетности числа без использования оператора %
Хотя этот трюк не намного лучше, чем использование оператора %, но иногда он эффективен (с большими числами).
Рассмотрим пару примеров:
k = 3
Двоичный: «11 & 1» будет 001, поэтому число нечетное
k = 4
Двоичный: «100 & 1» будет 000, поэтому число четное.
Хотя этот трюк не намного лучше, чем использование оператора %, но иногда он эффективен (с большими числами).
Рассмотрим пару примеров:
k = 3
Двоичный: «11 & 1» будет 001, поэтому число нечетное
k = 4
Двоичный: «100 & 1» будет 000, поэтому число четное.
👍56🔥2❤1😱1
Каким будет результат выполнения кода?
Anonymous Quiz
25%
Ошибка, для множества не существует метода update
33%
{1, 2, 3, 4, 5}
21%
Ошибка, список нельзя добавить во множество
7%
Ошибка, в списке есть дубликат значения
15%
Узнать ответ
😢14👍9🤔6🔥1🗿1
#Вопросы_с_собеседования
❓Объясните функции help() и dir() в Python.
Функция help() отображает строку документации и справку для ее аргумента. Пример по при вызове с функцией copy на картинке.
Функция dir() отображает все члены объекта (любого типа). Например:
```dir(copy.copy)
```
❓Объясните функции help() и dir() в Python.
Функция help() отображает строку документации и справку для ее аргумента. Пример по при вызове с функцией copy на картинке.
Функция dir() отображает все члены объекта (любого типа). Например:
```dir(copy.copy)
```
# ['__annotations__', '__call__', '__class__', '__closure__', ...
👍19😢2
This media is not supported in your browser
VIEW IN TELEGRAM
tqdm
Отличный инструмент для подключения диаграммы выполнения вашей программы. Название происходит от арабского слова "taqadum", что означает "прогресс".
Для создания прогресс-бара необходим лишь один вызов функции:
На гифке пример прогрессбара. В реальном времени показывается процент выполнения, визуальное представление, сколько итераций завершилось, скорость выполнения и ожидаемое время окончания, а сам модуль не требует никаких внешних библиотек.
Отличный инструмент для подключения диаграммы выполнения вашей программы. Название происходит от арабского слова "taqadum", что означает "прогресс".
Для создания прогресс-бара необходим лишь один вызов функции:
from tqdm import tqdm
from tqdm.notebook import tqdm # для использования в Jupyter Notebook
for i in tqdm(range(10000)):
...
На гифке пример прогрессбара. В реальном времени показывается процент выполнения, визуальное представление, сколько итераций завершилось, скорость выполнения и ожидаемое время окончания, а сам модуль не требует никаких внешних библиотек.
👍25❤2🎉1
Эффективный трюк, чтобы узнать, является ли число степенью двойки
Обычный метод деления имеет сложность O(logN), но эту задачу можно решить со сложностью O(v), где v — количество цифр числа в двоичной форме.
Подробнее ознакомиться с тем как работает данный трюк можно здесь.
Обычный метод деления имеет сложность O(logN), но эту задачу можно решить со сложностью O(v), где v — количество цифр числа в двоичной форме.
Подробнее ознакомиться с тем как работает данный трюк можно здесь.
👍36🔥1😱1
Изучение SQL с нуля
👉@SQl_and_DB_Learning👈
Подписывайся и изучай новый для себя язык программирования.
👉@SQl_and_DB_Learning👈
Подписывайся и изучай новый для себя язык программирования.
👍1
Junior Python Developer: полный разбор собеседования и ответы на наиболее частые вопросы интервью
Прохождение интервью в первый раз, когда ты ищешь работу на позицию начинающего разработчика сложно и страшно. Мы сделали полный разбор вопросов, которые чаще всего задают людям, ищущим работу python программиста.
Смотреть видео
Прохождение интервью в первый раз, когда ты ищешь работу на позицию начинающего разработчика сложно и страшно. Мы сделали полный разбор вопросов, которые чаще всего задают людям, ищущим работу python программиста.
Смотреть видео
YouTube
Junior Python Developer: полный разбор собеседования и ответы на наиболее частые вопросы интервью
Прохождение интервью в первый раз, когда ты ищешь работу на позицию начинающего разработчика сложно и страшно. Я пригласил Игоря, который недавно прошел Python курсы и теперь планирует устроиться на работу. И провел с ним детальное интервью как с начинающим…
👍15🔥6
Получение срезов итераторов
Если вы попытаетесь получить срез итератора, то столкнётесь с ошибкой TypeError, сообщающей о том, что на объект-генератор нельзя оформить подписку. Однако эта проблема поддаётся решению (см картинку).
Воспользовавшись методом itertools.islice, можно создать объект islice, который представляет собой итератор, выдающий нужные элементы. Однако здесь важно отметить то, что эта конструкция использует все элементы генератора вплоть до начала среза и все элементы в объекте islice.
Если вы попытаетесь получить срез итератора, то столкнётесь с ошибкой TypeError, сообщающей о том, что на объект-генератор нельзя оформить подписку. Однако эта проблема поддаётся решению (см картинку).
Воспользовавшись методом itertools.islice, можно создать объект islice, который представляет собой итератор, выдающий нужные элементы. Однако здесь важно отметить то, что эта конструкция использует все элементы генератора вплоть до начала среза и все элементы в объекте islice.
👍10❤1
👍22🤔20
Распределение памяти в Python: сколько и в каких случаях занимают типы данных
В этом материале разберем, как устроено выделение памяти под объекты в Python. Потом кратко о том, как работает очистка памяти от неиспользуемых объектов. И, наконец, о разнице в занимаемой памяти на примере типов list, dict и tuple.
Смотреть статью
В этом материале разберем, как устроено выделение памяти под объекты в Python. Потом кратко о том, как работает очистка памяти от неиспользуемых объектов. И, наконец, о разнице в занимаемой памяти на примере типов list, dict и tuple.
Смотреть статью
Tproger
Память в Python: сколько занимают разные типы данных
Как устроено выделение памяти под объекты в Python, как работает очистка памяти и в чём разница в памяти на примере типов list, dict и tuple.
👍15
FuzzyWuzzy
Множество раз вам могло прийти в голову реализовать “размытую” функцию поиска для вашей программы, которая в процентах может сравнивать строки. FuzzyWuzzy предоставляет готовое и лёгкое решение.
В первом примере кода на картинке с помощью
Если у вас есть список строк, и совпадения необходимо искать во всех строках, FuzzyWuzzy поможет выделить наиболее похожие. Это мы и делаем во втором примере, сравнивая строки
Множество раз вам могло прийти в голову реализовать “размытую” функцию поиска для вашей программы, которая в процентах может сравнивать строки. FuzzyWuzzy предоставляет готовое и лёгкое решение.
В первом примере кода на картинке с помощью
fuzz.ratio
мы сравниваем две строки и получаем ответ 83, означающий, что они совпадают на 83%. Если у вас есть список строк, и совпадения необходимо искать во всех строках, FuzzyWuzzy поможет выделить наиболее похожие. Это мы и делаем во втором примере, сравнивая строки
data visualisation
и custom behavior
со строками из arr
. При этом в функцию process.extract
в качестве параметра также передаётся limit
, задающий, сколько значений мы хотим получить.👍17❤2
🤔25👍14