Распаковка параметров функций в Python 2 и 3
В Python 2 существовала интересная возможность распаковывать параметры функций прямо в их определении. Пример:
def between(x, (start,…
Читать далее →
Почему range() в Python использует полуоткрытые интервалы?
Функция range() в Python работает с полуоткрытыми интервалами. Например, range(2, 10) задаёт числа в диапазоне [2, 10), …
Читать далее →
Когда вам нужно очистить список в Python, вы, скорее всего, используете lst = [].
Когда вам нужно очистить список в Python, вы, скорее всего, используете lst = []. Однако на самом деле вы просто создаёте новый пустой список и присваиваете его переменной lst, а все другие переменные, которые ссылаются на исходный список, продолжают хранить его содержимое.
Пример:
lst = [1, 2, 3]
lst2 = lst
lst = []
print(lst2) # [1, 2, 3]
Хотя это кажется очевидным, правильное решение стало доступно только с введением метода lst.clear() в Python 3.3.
До этого для очистки списка приходилось использовать:
- del lst[:], или
- lst[:] = [].
Оба варианта работают, поскольку срезы позволяют модифицировать часть списка. Если вы берёте срез [:], он охватывает весь список.
Теперь же lst.clear() является более читаемым и современным решением.
👉 @BookPython
Как ускорить вычисления в Python с помощью multiprocessing.Pool
Когда речь заходит о ресурсоемких задачах, которые нагружают ваш CPU, стоит обратить внимание на библиотеку multipr…
Читать далее →
Модуль multiprocessing в Python: потоки против процессов
Модуль multiprocessing позволяет создавать не только процессы, но и потоки. Однако стоит помнить о главной особенности CPy…
Читать далее →