Когда вам нужно очистить список в Python, вы, скорее всего, используете
Пример:
Хотя это кажется очевидным, правильное решение стало доступно только с введением метода
До этого для очистки списка приходилось использовать:
-
-
Оба варианта работают, поскольку срезы позволяют модифицировать часть списка. Если вы берёте срез
Теперь же
📲 Мы в MAX
👉@BookPython
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🙏1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮2👎1💩1
Пагинация — это стандартная задача, с которой ежедневно сталкиваются тысячи разработчиков. Если вы используете реляционную базу данных, то можно задать смещение через
Этот запрос действительно вернет 100 записей, с 1001-й по 1100-ю. Но проблема в том, что для базы данных это так же сложно, как и выборка всех первых 1001 записей. Чем дальше запрашиваемая страница, тем медленнее будет выполняться запрос.
Более оптимальным решением является использование фильтрации через
Этот подход позволяет избежать сканирования всех предыдущих строк, что значительно ускоряет работу с большими объемами данных.
Если хотите разобраться подробнее, рекомендую почитать отличную статью на эту тему!
📲 Мы в MAX
👉@BookPython
LIMIT, например:
SELECT *
FROM table
LIMIT 1001, 100;
Этот запрос действительно вернет 100 записей, с 1001-й по 1100-ю. Но проблема в том, что для базы данных это так же сложно, как и выборка всех первых 1001 записей. Чем дальше запрашиваемая страница, тем медленнее будет выполняться запрос.
Более оптимальным решением является использование фильтрации через
WHERE, где клиент передает идентификатор последней записи текущей страницы ($last_seen_id в примере):
SELECT *
FROM table
WHERE id > $last_seen_id
ORDER BY id ASC
LIMIT 100;
Этот подход позволяет избежать сканирования всех предыдущих строк, что значительно ускоряет работу с большими объемами данных.
Если хотите разобраться подробнее, рекомендую почитать отличную статью на эту тему!
👉@BookPython
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1