Список — это контейнер, хранящий объекты в определенном порядке. Для представления списка в python используются квадратные скобки, а разделителем в контейнере выступает запятая. Списки в Python могут хранить любой тип данных.
Пустой список создается парой способов:
В нашем примере переменная sample содержит три элемента в списке. Список хранит значения в определенном порядке. Система счисления у питонистов начинается с нуля, так что «Петя» будет нулевым в списке, а не первым.
Как обратиться к элементу в списке?
Легко, по порядковому номеру в списке. Он же индекс списка. Если укажете минусовое значение, то список будет запрашиваться с конца. Например [-1] выдаст последний элемент списка.
Список является итерируемым объектом. Это значит, что по данному списку можно пробежаться в цикле и запросить каждый элемент списка.
Как добавить в список?
Для этой цели применяется метод append(), который добавляет элемент в конец списка.
Если требуется добавление в список через перебор элементов, то существует метод extend(). Позволяет расширить список содержимым любой последовательности, которая поддерживает итерацию. Давайте посмотрим как это работает.
Возьмем сокращенный вариант numbers
А как быть в ситуациях, когда надо добавить элемент в список, но не в конец, а например между «Один» и «Два»?
Тут применяется метод insert(), который принимает два аргумента:
- положение в списке (индекс, куда вставлять элемент)
- Элемент, который надо вставить.
Вставленное значение смещает индексы
Как изменить элемент в списке?
Элементы в списке можно изменить. Для этого вам надо переназначить элемент по индексу. Будем использовать готовый список numbers
Список можно отсортировать. Для этого есть метод sort()
Если в скобочках метода передать reverse=True, то получим обратную сортировку:
Но вот когда в списке у вас появятся циферки и букаФки, то вы столкнетесь с проблемой.
Ошибка говорит о том, что функция сортировки спотыкается на разнородных данных… не может понять что первым выводить.
Поэтому решение проблемы — только для функции сделать намек, что числа это тоже текст. В самом списке приведение к этому типу делать ненадо. Для этого в скобочки разместите следующий параметр key=str
Вы также можете найти индексный номер в списке для определенного элемента. Для этого используется метод index(). Метод возвращает индекс первого элемента, который задан в скобках
Удаление элементов списка.
При удалении элементов можно использовать несколько методов — remove(), pop(), del(), clear()
remove() — метод, который удаляет первый совпадающий элемент из списка. При использовании этого метода пустые скобки недопустимы.
pop() — метод, который удаляет тот элемент, индекс которого передается в скобках. Если оставить скобки пустыми — будет взят последний элемент в списке.
del() — ключевое слово, которое ставится перед списком. Далее идет имя списка и скобки с указанием индекса элемента, который подлежит удалению.
У ключевого слова есть возможность задать диапазоны для удаления элементов. Для этого нужно передать начальное и конечное значение диапазона.
clear() — метод, который очищает текущий список. Останутся только рожки да ножки — имя переменной и связь с областью в памяти устройства.
Длина списка и число элементов
Когда требуется посчитать число элементов — встроенная функция len()
Возвращает длину (количество элементов) в объекте, которая может быть любым видом последовательности и коллекций.
А если требуется посчитать число вхождений в список, то это строковая функция count()
Возвращает количество вхождений искомого элемента, указанного в скобочках.
list.append(x) -> Вставляет одиночный элемент в конец списка list, непосредственно меняя список.
list.extend(x) -> Вставляет каждый элемент итерируемой последовательности x в конец списка
list.list.insert(i, x)-> Согласно установленного индекса i вставляет элемент X в список
list.list.sort() -> Сортирует список list по возрастанию. Параметр reverse=True (убывание).
list.index(x) -> Возвращает индекс первого вхождения элемента x из списка
list.list.remove(x) -> Удаляет первое вхождение элемента x из списка
list.list.pop(x) -> Удаляет и возвращает последний элемент x из списка
list.list.clear() -> Удаляет все элементы списка. В Python c версии 3.3.
list.count(x) -> Возвращает количество вхождений x в список
list.list.copy(x) -> Создание копии списка list. В Python c версии 3.3.
Подписывайтесь на канал. Буду переключать его на полезные посты о Python.