🤔14👍4🍾1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁41❤🔥18👍7🎉4🥰1
Как работает хэш-таблица?
Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:
— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код - это целое число, представляющее "отпечаток" ключа.
— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого "ячейки" хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей "ячейки" в хэш-таблице. Затем происходит поиск значения внутри этой "ячейки" (или цепочки).
#для_продвинутых
Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:
— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код - это целое число, представляющее "отпечаток" ключа.
— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого "ячейки" хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей "ячейки" в хэш-таблице. Затем происходит поиск значения внутри этой "ячейки" (или цепочки).
#для_продвинутых
👍12🎉1
collections.Counter
#для_продвинутых
collections.Counter
— это специальный класс, предоставляющий удобный способ подсчета хэшируемых объектов. Он является подклассом словаря и предоставляет функциональность для подсчета количества вхождений каждого элемента в последовательность (список, кортеж, строку и т.д.).#для_продвинутых
👍15
Модуль transliterate
В Python существует несколько библиотек для транслитерации текста, и одной из них является библиотека transliterate. Этот модуль позволяет переводить текст из одной письменности в другую, например, из кириллицы в латиницу.
Для использования библиотеки transliterate сначала нужно установить её с помощью pip:
Библиотека transliterate поддерживает несколько письменностей, так что вы можете использовать её для транслитерации текста между различными языками.
#для_начинающих
В Python существует несколько библиотек для транслитерации текста, и одной из них является библиотека transliterate. Этот модуль позволяет переводить текст из одной письменности в другую, например, из кириллицы в латиницу.
Для использования библиотеки transliterate сначала нужно установить её с помощью pip:
pip install transliterate
Библиотека transliterate поддерживает несколько письменностей, так что вы можете использовать её для транслитерации текста между различными языками.
#для_начинающих
👍17
os.rename()
В Python функция
#для_начинающих
В Python функция
os.rename()
используется для переименования файла или директории в операционной системе. Она входит в модуль os
.#для_начинающих
👍23
Duck typing
Duck typing — это парадигма в программировании, используемая в языках с динамической типизацией, таких как Python. Суть duck typing заключается в том, что тип объекта определяется его поведением (методами и свойствами), а не явно указанным интерфейсом или базовым классом.
В Python duck typing часто выражается фразой: «Если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.»
#для_продвинутых
Duck typing — это парадигма в программировании, используемая в языках с динамической типизацией, таких как Python. Суть duck typing заключается в том, что тип объекта определяется его поведением (методами и свойствами), а не явно указанным интерфейсом или базовым классом.
В Python duck typing часто выражается фразой: «Если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.»
#для_продвинутых
👍19🗿1
Что выведет этот код?
Anonymous Quiz
35%
[1, 2, 3, 4, 5]
13%
[1, 2, 3, 4, 42]
42%
[42, 2, 3, 4, 5]
9%
Узнать ответ
😁37🤔12👍9😱2😢2
igraph
Более подробную информацию о
#для_начинающих
igraph
— это библиотека для работы с графами (сетями) в Python. Она предоставляет инструменты для создания, анализа и визуализации графов. Если у вас нет установленной библиотеки igraph
, вы можете установить её с помощью pip:pip install python-igraph
Более подробную информацию о
igraph
и его возможностях можно найти в официальной документации.#для_начинающих
👍15
Оператор pass
В Python оператор
В примере на картинке
Также pass может использоваться в определениях функций, классов и других местах, где требуется наличие кода, но конкретные действия не определены.
#для_начинающих
В Python оператор
pass
представляет собой пустой оператор, который не выполняет никаких действий. Он часто используется там, где синтаксически требуется presense of code (т.е. наличие кода), но непосредственное выполнение каких-либо действий не требуется.В примере на картинке
pass
используется в блоке if
, чтобы указать, что в случае, если условие True
, необходимо просто перейти к следующему блоку кода.Также pass может использоваться в определениях функций, классов и других местах, где требуется наличие кода, но конкретные действия не определены.
#для_начинающих
👍18
SymPy
SymPy — это библиотека символьной математики для языка программирования Python. В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно.
SymPy позволяет проводить символьные вычисления, что означает, что вы можете работать с математическими выражениями в их аналитической форме.
#для_начинающих
SymPy — это библиотека символьной математики для языка программирования Python. В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно.
SymPy позволяет проводить символьные вычисления, что означает, что вы можете работать с математическими выражениями в их аналитической форме.
#для_начинающих
👍22
Оператор raise
Оператор
Синтаксис оператора
Где
Можно также использовать оператор
#для_начинающих
Оператор
raise
используется для возбуждения исключения (exception). Он позволяет программистам явным образом указывать, что в программе произошла какая-то ошибка или неожиданное условие, и вызывать соответствующее исключение.Синтаксис оператора
raise
выглядит следующим образом:raise [Exception [, args [, traceback]]]
Где
Exception
— это тип исключения, которое вы хотите возбудить, а args
и traceback
— дополнительные аргументы, связанные с исключением.Можно также использовать оператор
raise
без аргументов, чтобы повторно возбудить текущее исключение внутри блока except
. Это может быть полезно, если вы хотите добавить дополнительную информацию к исключению или изменить его тип.#для_начинающих
👍17
dict.get()
Синтаксис метода
#для_начинающих
dict.get()
— это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]
), метод get()
предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.Синтаксис метода
get()
выглядит так:value = dict.get(key, default)
key
: Ключ, по которому производится поиск в словаре.default
(необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default
не указан, и ключ не найден, метод вернет None
.#для_начинающих
👍17❤🔥1🎉1🍾1
👍10❤🔥2🤔2🆒1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁77🗿8❤🔥2🤔1
Напишите функцию на Python, которая принимает строку и возвращает словарь, содержащий количество вхождений каждого слова в строке. Считайте, что слова в строке разделяются пробелами, и игнорируйте знаки препинания.
Для начала используем метод
Затем приводим текст к нижнему регистру, чтобы учесть все слова независимо от регистра. После этого используем метод
Создаём пустой словарь
Наконец, возвращаем словарь
#Вопросы_с_собеседования
Для начала используем метод
translate
для удаления знаков препинания из исходной строки. Модуль string
предоставляет строку punctuation
, содержащую все знаки препинания. Метод translate
использует таблицу перевода для удаления указанных символов. Затем приводим текст к нижнему регистру, чтобы учесть все слова независимо от регистра. После этого используем метод
split()
для разделения текста на список слов.Создаём пустой словарь
word_count
для подсчета вхождений каждого слова. Затем, используя цикл for
, проходимся по списку слов и обновляем счетчик в словаре. Если слово уже есть в словаре, увеличиваем его счетчик на 1; если нет, добавляем его в словарь с начальным счетчиком 1.Наконец, возвращаем словарь
word_count
, который содержит количество вхождений каждого слова в тексте.#Вопросы_с_собеседования
👍16🔥1
Twisted
Twisted — это асинхронный фреймворк для разработки сетевых приложений на языке Python. Он предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.
Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные.
Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.
Обратите внимание, что использование Twisted может потребовать времени для изучения, так как он предоставляет множество возможностей для работы с сетевыми протоколами и асинхронным программированием.
#для_продвинутых
Twisted — это асинхронный фреймворк для разработки сетевых приложений на языке Python. Он предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.
Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные.
Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.
Обратите внимание, что использование Twisted может потребовать времени для изучения, так как он предоставляет множество возможностей для работы с сетевыми протоколами и асинхронным программированием.
#для_продвинутых
👍15🎉2🆒1
Библиотека Qiskit
Qiskit — это открытая библиотека для работы с квантовыми вычислениями в Python. Она предоставляет инструменты для создания, симуляции и запуска квантовых программ на реальных квантовых устройствах.
Вы можете изучить документацию Qiskit для получения более подробной информации и примеров использования.
#для_продвинутых
Qiskit — это открытая библиотека для работы с квантовыми вычислениями в Python. Она предоставляет инструменты для создания, симуляции и запуска квантовых программ на реальных квантовых устройствах.
Вы можете изучить документацию Qiskit для получения более подробной информации и примеров использования.
#для_продвинутых
👍14🎉3