🤔 Какие объекты можно положить в множество?
В Python множество (
🚩Можно добавить в `set`:
Числа (
Строки (
Кортежи (
Булевые значения (
🚩Нельзя добавить в `set`
Изменяемые объекты (
Кортежи с изменяемыми элементами
Ставь 👍 и забирай 📚 Базу знаний
В Python множество (
set) — это неупорядоченная коллекция уникальных элементов, которая работает на основе хеш-таблицы. Это значит, что только хешируемые (immutable) объекты могут быть добавлены в set.🚩Можно добавить в `set`:
Числа (
int, float, complex) s = {1, 2.5, 3+4j}Строки (
str) s = {"apple", "banana", "cherry"}Кортежи (
tuple), если они тоже содержат только неизменяемые объекты s = {(1, 2), ("a", "b")}Булевые значения (
bool)** (но True считается 1, а False — 0) s = {True, False, 1, 0}
print(s) # {False, True} (0 и 1 не добавятся повторно)🚩Нельзя добавить в `set`
Изменяемые объекты (
list, set, dict) s = { [1, 2, 3] } # Ошибка: TypeError: unhashable type: 'list' s = { {"key": "value"} } # Ошибка: TypeError: unhashable type: 'dict'Кортежи с изменяемыми элементами
s = { (1, [2, 3]) } # Ошибка: TypeErrorСтавь 👍 и забирай 📚 Базу знаний
🤔 Что такое многопоточность/многопроцессорность?
- Многопоточность в Python — это одновременное выполнение нескольких "нитей" (потоков) в рамках одного процесса. Используется модуль threading. Однако из-за GIL (Global Interpreter Lock) только один поток исполняет байт-код в один момент времени, что ограничивает пользу многопоточности для вычислений. Подходит для I/O-задач (работа с сетью, файлами).
- Многопроцессорность — это запуск нескольких процессов, каждый со своей памятью и интерпретатором. Используется модуль multiprocessing. Эффективна при вычислениях, так как GIL не мешает разным процессам работать параллельно на многоядерных CPU.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
- Многопоточность в Python — это одновременное выполнение нескольких "нитей" (потоков) в рамках одного процесса. Используется модуль threading. Однако из-за GIL (Global Interpreter Lock) только один поток исполняет байт-код в один момент времени, что ограничивает пользу многопоточности для вычислений. Подходит для I/O-задач (работа с сетью, файлами).
- Многопроцессорность — это запуск нескольких процессов, каждый со своей памятью и интерпретатором. Используется модуль multiprocessing. Эффективна при вычислениях, так как GIL не мешает разным процессам работать параллельно на многоядерных CPU.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
👍1