string.find
Метод find() возвращает индекс первого вхождения подстроки (если она найдена). Если не найдена, возвращается -1. При желании ты можешь задать, откуда нужно начать поиск и до какого индекса.
🔗 Python tricks
Метод find() возвращает индекс первого вхождения подстроки (если она найдена). Если не найдена, возвращается -1. При желании ты можешь задать, откуда нужно начать поиск и до какого индекса.
🔗 Python tricks
Лямбда-функции для определения небольших анонимных функций
Лямбда-функция, называемая анонимной функцией, представляет собой метод, позволяющий легко определить небольшую функцию в Python, чтобы сделать ваш код аккуратнее и короче.
Распространённым применением лямбда-функций является их использование для определения метода сравнения для встроенной функции sort()
🔗 Python tricks
Лямбда-функция, называемая анонимной функцией, представляет собой метод, позволяющий легко определить небольшую функцию в Python, чтобы сделать ваш код аккуратнее и короче.
Распространённым применением лямбда-функций является их использование для определения метода сравнения для встроенной функции sort()
🔗 Python tricks
Контекстный менеджер: Автоматическое закрытие ресурсов
Как мы знаем, после того, как файл был открыт и обработан, важно быстро закрыть его, чтобы освободить ресурсы памяти. Пренебрежение этим может привести к утечке памяти или даже к сбою нашей системы.
Как показано выше, оператор “with” является ключевым для контекстных менеджеров Python. Пока мы открываем файл через него и обрабатываем файл под ним, файл будет автоматически закрыт после обработки.
🔗 Python tricks
Как мы знаем, после того, как файл был открыт и обработан, важно быстро закрыть его, чтобы освободить ресурсы памяти. Пренебрежение этим может привести к утечке памяти или даже к сбою нашей системы.
Как показано выше, оператор “with” является ключевым для контекстных менеджеров Python. Пока мы открываем файл через него и обрабатываем файл под ним, файл будет автоматически закрыт после обработки.
🔗 Python tricks
Объясните, что такое обработка исключений в Python, и предоставьте пример кода, демонстрирующий использование блока try-except.
Обработка исключений в Python позволяет программисту обрабатывать и управлять ошибками в коде. Блок
Блок
Блок
В примере на картинке в функции
🔗 Python tricks
Обработка исключений в Python позволяет программисту обрабатывать и управлять ошибками в коде. Блок
try
содержит код, который может вызвать исключение. Если исключение происходит, выполнение кода переходит к блоку except
, который содержит обработчики конкретных типов исключений.Блок
else
выполняется, если в блоке try
не возникло исключение.Блок
finally
выполняется всегда, независимо от того, произошло исключение или нет. Этот блок используется, например, для освобождения ресурсов.В примере на картинке в функции
divide_numbers
представлен пример деления двух чисел с использованием блока try-except
. В случае деления на ноль выводится сообщение об ошибке. Если переданы нечисловые значения, программа сообщает об ошибке типа. В блоке else выводится сообщение об успешном выполнении операции, а в блоке finally
выводится сообщение, которое всегда выполняется.🔗 Python tricks
У вас есть список словарей, представляющих информацию о книгах. Каждый словарь содержит поля «название» (title), «автор» (author) и «год выпуска» (year). Напишите функцию на Python, которая принимает такой список книг и возвращает словарь, в котором ключами являются года выпуска, а значениями — списки книг, выпущенных в этот год. Книги в каждом списке должны быть упорядочены по алфавиту по названию.
Решение:
1. Используем , чтобы автоматически создавать пустой список для каждого года.
2. Книги сортируем по названию перед группировкой, чтобы списки книг в каждом году были упорядочены по алфавиту.
3. Проходим по отсортированным книгам и добавляем их в соответствующие списки годов в словаре.
🔗 Python tricks
Решение:
defaultdict(list)
2. Книги сортируем по названию перед группировкой, чтобы списки книг в каждом году были упорядочены по алфавиту.
3. Проходим по отсортированным книгам и добавляем их в соответствующие списки годов в словаре.
🔗 Python tricks
Как получить размер папки с помощью Python?
Чтобы получить размер каталога, пользователь должен пройти по всей папке и добавить размер каждого файла, присутствующего в этой папке, и покажет общий размер папки.
Другие способы решить данную задачу можно найти здесь.
🔗 Python tricks
Чтобы получить размер каталога, пользователь должен пройти по всей папке и добавить размер каждого файла, присутствующего в этой папке, и покажет общий размер папки.
Другие способы решить данную задачу можно найти здесь.
🔗 Python tricks
NetworkX
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
🔗 Python tricks
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
🔗 Python tricks
Переводим текст с английского на русский язык и преобразуем его в голосовое сообщение
Для перевода текста с английского на русский и преобразования его в голосовое сообщение, вы можете использовать библиотеки googletrans для перевода и gTTS (Google Text-to-Speech) для синтеза речи.
pip install googletrans==4.0.0-rc1
pip install gtts
🔗 Python tricks
Для перевода текста с английского на русский и преобразования его в голосовое сообщение, вы можете использовать библиотеки googletrans для перевода и gTTS (Google Text-to-Speech) для синтеза речи.
pip install googletrans==4.0.0-rc1
pip install gtts
🔗 Python tricks
Возврат нескольких значений из функции
Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать.
🔗 Python tricks
Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать.
🔗 Python tricks
Напишите функцию на Python, которая принимает корень бинарного дерева поиска и целое число k, и возвращает k-ый по величине элемент в этом дереве.
Условия:
Бинарное дерево поиска (BST) - это дерево, в котором каждый узел имеет не более двух детей, и для каждого узла его левое поддерево содержит только узлы с ключами, меньшими чем ключ узла, а правое поддерево - только узлы с ключами, большими чем ключ узла.
k всегда валидно и находится в пределах количества узлов в дереве.
Объяснение:
Функция kthSmallest принимает корень бинарного дерева и число k.
Вложенная функция inorder реализует обход дерева в порядке "лево-корень-право", что гарантирует получение элементов в порядке возрастания.
Рекурсивный вызов inorder собирает значения узлов в список.
Функция возвращает k-1 элемент этого списка, так как индексация в Python начинается с нуля.
Этот вопрос проверяет знания кандидата в области алгоритмов обхода дерева, рекурсии и понимания структур данных, таких как бинарные деревья поиска.
🔗 Python tricks
Условия:
Бинарное дерево поиска (BST) - это дерево, в котором каждый узел имеет не более двух детей, и для каждого узла его левое поддерево содержит только узлы с ключами, меньшими чем ключ узла, а правое поддерево - только узлы с ключами, большими чем ключ узла.
k всегда валидно и находится в пределах количества узлов в дереве.
Объяснение:
Вложенная функция inorder реализует обход дерева в порядке "лево-корень-право", что гарантирует получение элементов в порядке возрастания.
Рекурсивный вызов inorder собирает значения узлов в список.
Функция возвращает k-1 элемент этого списка, так как индексация в Python начинается с нуля.
Этот вопрос проверяет знания кандидата в области алгоритмов обхода дерева, рекурсии и понимания структур данных, таких как бинарные деревья поиска.
🔗 Python tricks
Обработка ошибок во время выполнения
Это самый полезный совет для программистов, работающих с Python. Вы можете устранить ошибку и избавить программу от сбоев во время выполнения.
🔗 Python tricks
Это самый полезный совет для программистов, работающих с Python. Вы можете устранить ошибку и избавить программу от сбоев во время выполнения.
🔗 Python tricks
Используйте метод “Enumerate” Для элегантного перебора списков
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
🔗 Python tricks
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
🔗 Python tricks
Добавление вложенных списков
Метод
Итак, у нас был список
Простой список добавляется во вложенный список как отдельный одинарный элемент.
🔗 Python tricks
Метод
append()
может работать и с вложенными списками, а не только с простыми.Итак, у нас был список
nested_list
, внутри которого уже были два вложенных списка [[1, 2], [3, 4]]
.Простой список добавляется во вложенный список как отдельный одинарный элемент.
🔗 Python tricks
argcomplete
argcomplete — это библиотека для автоматического дополнения аргументов командной строки в Python. Это может быть полезно при разработке сценариев командной строки, когда вы хотите, чтобы ваш скрипт предлагал возможные аргументы и значения при нажатии клавиши Tab.
argcomplete поддерживает не все оболочки по умолчанию, и вам может потребоваться настроить ее соответствующим образом для вашей среды выполнения.
🔗 Python tricks
argcomplete — это библиотека для автоматического дополнения аргументов командной строки в Python. Это может быть полезно при разработке сценариев командной строки, когда вы хотите, чтобы ваш скрипт предлагал возможные аргументы и значения при нажатии клавиши Tab.
argcomplete поддерживает не все оболочки по умолчанию, и вам может потребоваться настроить ее соответствующим образом для вашей среды выполнения.
🔗 Python tricks
__subclasshook__
__subclasshook__
— это метод, который можно определить в классе, чтобы влиять на процесс проверки, является ли данный класс подклассом другого класса. Этот метод обычно используется вместе с метаклассами и полезен, например, при создании абстрактных базовых классов.
Протокол subclasshook предоставляет способ определить подходит ли класс для использования в качестве подкласса заданного класса. Если метод возвращает
🔗 Python tricks
__subclasshook__
— это метод, который можно определить в классе, чтобы влиять на процесс проверки, является ли данный класс подклассом другого класса. Этот метод обычно используется вместе с метаклассами и полезен, например, при создании абстрактных базовых классов.
Протокол subclasshook предоставляет способ определить подходит ли класс для использования в качестве подкласса заданного класса. Если метод возвращает
True
, то класс считается подклассом. Если метод возвращает NotImplemented
, то это означает, что проверка должна быть выполнена с использованием стандартных правил.🔗 Python tricks
Добавление элемента только при выполнении условия
Вы можете добавить условие для использования
В этом примере, если
🔗 Python tricks
Вы можете добавить условие для использования
append()
. Если условие выполняется или если условия нет, append()
добавляет элемент в конец списка. Всё как обычно.В этом примере, если
temp
больше 25, то метод append()
добавляет элементы в конец списка numbers
. В нашем случае, это 30 и 27.🔗 Python tricks
Строки тоже итерируются
Преобразуем все буквы в заглавные.
🔗 Python tricks
map()
использует «дочернюю» функцию на любом объекте, где применим цикл for
. Мы можем применять ее к любому итерируемому объекту, даже к strings.Преобразуем все буквы в заглавные.
🔗 Python tricks
Отличие append() от extend()
Метод
Таким образом, метод
Дело в том, что
🔗 Python tricks
Метод
extend()
также используется для добавления элементов в список, но в отличие от append()
, он принимает итерируемый объект (например, другой список) и добавляет его элементы по отдельности.Таким образом, метод
extend()
объединяет содержимое двух списков, тогда как метод append()
просто добавляет новый элемент в конец списка.Дело в том, что
append()
добавляет один элемент, в то время как extend()
добавляет все элементы переданного списка поочередно.🔗 Python tricks
map() + лямбды
Мы можем комбинировать мэппинг с безымянными функциями, чтобы код стал еще короче.
Возведя все элементы списка ls в квадрат, мы получим такой результат.
🔗 Python tricks
Мы можем комбинировать мэппинг с безымянными функциями, чтобы код стал еще короче.
Возведя все элементы списка ls в квадрат, мы получим такой результат.
🔗 Python tricks
Конкатенация списков с использованием append()
Когда мы используем
Результат этого кода —
🔗 Python tricks
Когда мы используем
append()
с другим списком, происходит не конкатенация (слияние) списков в привычном понимании, а добавление одного списка как элемента в другой список.Результат этого кода —
list1 = [1, 2, 3, [4, 5, 6]]
. Теперь list2
стал элементом последнего элемента списка list1
.🔗 Python tricks