Курс по Python: https://stepik.org/course/100707
На этом занятии мы
свами познакомимся с основными методами, которые есть у списков. Что такое
методы вам должно быть уже известно, об этом была речь, когда мы рассматривали
методы строк. Кратко напомню, что список – это объект и с этим объектом связаны
функции, которые и называются его методами.
Давайте
предположим, что у нас имеется список из чисел:
a = [1, -54, 3, 23, 43, -45, 0]
и мы хотим в
конец этого списка добавить еще одно значение. Это можно сделать с помощью
метода:
Данный метод append ничего не
возвращает, а меняет сам список. Поэтому писать здесь конструкцию вида:
не следует, так как
это приведет к потере данных. Этим методы списков отличаются от методов строк,
когда мы записывали:
string="Hello"
string = string.upper()
Здесь метод upper возвращает
измененную строку, поэтому все работает как и ожидается. А метод append ничего не
возвращает, и присваивать значение None переменной a не имеет смысла.
Учитывая, что
список может содержать самые разные данные, то в методе append можно прописывать
не только число, но, например, строку:
тогда в конец
списка будет добавлен этот элемент. Или, булевое значение:
Или еще один
список:
И так далее.
Главное, чтобы было указано одно конкретное значение. Например, вот так
работать не будет:
Если нам нужно
вставить новый элемент в произвольную позицию, то используется метод:
Здесь мы
указываем индекс вставляемого элемента и далее значение самого элемента.
Следующий метод remove удаляет элемент
по значению:
a.remove(True)
a.remove('hello')
Он находит
первый подходящий элемент и удаляет его, остальные не трогает. Если же
указывается несуществующий элемент:
то возникает
ошибка. Еще один метод для удаления
выполняет
удаление последнего элемента и при этом, возвращает его значение. В самом
списке последний элемент пропадает. То есть, с помощью этого метода можно
сохранять удаленный элемент в какой-либо переменной:
Также в этом
методе можно указывать индекс удаляемого элемента, например:
Если нам нужно
очистить весь список – удалить все элементы, то можно воспользоваться методом:
Получим пустой
список. Следующий метод
a = [1, -54, 3, 23, 43, -45, 0]
c = a.copy()
возвращает копию
списка. Это эквивалентно конструкции:
В этом можно
убедиться по разным id этих объектов:
Следующий метод count позволяет найти
число элементов с указанным значением:
Если же нам
нужен индекс определенного значения, то для этого используется метод index:
возвратит 0,
т.к. берется индекс только первого найденного элемента. Но, мы здесь можем
указать стартовое значение для поиска:
Здесь поиск
будет начинаться с индекса 1, то есть, со второго элемента. Или, так:
Ищем число 23 с
1-го индекса и по 5-й не включая его. Если элемент не находится
то метод
приводит к ошибке. Чтобы этого избежать в своих программах, можно вначале
проверить: существует ли такой элемент в нашем срезе:
и при значении True далее уже
определять индекс этого элемента.
Следующий метод
меняет порядок
следования элементов на обратный.
Ну и последний
метод
выполняет
сортировку элементов списка по возрастанию. Для сортировки по убыванию, следует
этот метод записать так:
Причем, этот
метод работает и со строками:
lst = ["Москва", "Санкт-Петербург", "Тверь", "Казань"]
lst.sort()
Здесь
используется лексикографическое сравнение, о котором мы говорили, когда
рассматривали строки.
Отличие метода sort() от ранее
рассмотренной функции sorted() в том, что метод меняет сам
список, а функция sorted() возвращает новый отсортированный
список, не меняя начальный.
Это все основные
методы списков, которые вам следует знать и применять в практике
программирования:
Метод
|
Описание
|
append()
|
Добавляет
элемент в конец списка
|
insert()
|
Вставляет
элемент в указанное место списка
|
remove()
|
Удаляет
элемент по значению
|
pop()
|
Удаляет
последний элемент, либо элемент с указанным индексом
|
clear()
|
Очищает
список (удаляет все элементы)
|
copy()
|
Возвращает
копию списка
|
count()
|
Возвращает
число элементов с указанным значением
|
index()
|
Возвращает
индекс первого найденного элемента
|
reverse()
|
Меняет
порядок следования элементов на обратный
|
sort()
|
Сортирует
элементы списка
|
Как всегда, для закрепления
материала обязательно пройдите практические задания и переходите к следующему
уроку.
Курс по Python: https://stepik.org/course/100707