В предыдущем посте мы рассмотрели создание, индексацию и нарезку списков. Давайте дальше исследуем силу списков.

Можем ли мы добавлять в списки?

Операция добавления элементов в конец изменяемой последовательности известна как добавление. Поскольку списки могут быть изменены (также называемые изменяемыми), вполне законно применять эту операцию к объектам типа list. Для этого у нас есть встроенная функция append (). Мы можем добавлять целые числа в список:

К объекту списка можно добавить не только однозначные константы, такие как integer, float, boolean и string, но и другой список:

Сразу возникает вопрос: «Как мы индексируем список, подобный показанному выше, который содержит другой список?»

Мы обрабатываем только что добавленный список как элемент и индексируем его по позиции, которая в приведенном выше сценарии оказывается 6:

«Что, если нам нужен конкретный элемент внутреннего списка?»

Мы идем на один уровень дальше и индексируем по позиционному значению. Первая пара [] обозначает весь внутренний список, а следующая пара [] обозначает конкретный элемент во внутреннем списке. Поскольку существует два элемента, hello и 449, допустимые позиционные значения - только 0 и 1:

Можем ли мы удалить элементы из списка?

Очистить список можно с помощью одной команды: clear ()
Операция выполняется на месте (очищает содержимое объекта списка, для которого используется метод вызывается), является необратимым и не возвращает никакого значения. Функция clear () не принимает никаких аргументов:

Могут возникнуть ситуации, когда мы хотели бы удалить один элемент из списка вместо того, чтобы его очищать. Один из способов добиться этого - использовать remove () - удаляет первое вхождение элемента списка, предоставленного в качестве аргумента функции:

Как и clear (), remove () не возвращает никакого значения, является необратимым и выполняется на месте. Если мы передаем аргумент, которого нет в списке, remove () вызывает ValueError:

Другой способ избавиться от элементов списка - использовать pop () - удаляет элементы по позиционным (индексным) значениям. Он возвращает удаленный элемент, является необратимым, принимает 0 или 1 аргумент и применяется на месте. Мы можем передать значение индекса удаляемого элемента (передать 1 аргумент):

Если мы не передаем никакой аргумент функции pop (), она возвращает и удаляет последний элемент списка, для которого вызывается метод pop ():

Наконец, если мы передадим позиционное значение, для которого нет элемента в списке, мы получим IndexError:

Можно ли расположить элементы списка в порядке возрастания или убывания?

Списки можно сортировать с помощью встроенной функции sort (). Однако есть исключение. Поскольку список представляет собой неоднородную последовательность (может содержать смешанные типы), его можно отсортировать, только если он содержит значения одного типа. По умолчанию он сортирует элементы в порядке возрастания:

Функция sort () применяется на месте и не возвращает никакого значения. Чтобы упорядочить элементы в порядке убывания, мы устанавливаем для параметра наоборот значение Истина (по умолчанию - Ложь; для сортировки элементов в порядке возрастания):

Если мы попытаемся отсортировать список, содержащий значения разных типов, мы получим TypeError:

Надеюсь, этот пост был вам полезен. Пожалуйста, не стесняйтесь оставлять свои комментарии, отзывы, критику, мысли и все остальное, что с ними связано. До скорой встречи!