Методы списка

В Python у списков имеется одиннадцать методов. Большинство из них предназначены для вставки и удаления элементов.


append() - добавляет элемент в конец списка.

>>> lst = ['a', 45, 89, 'who']
>>> lst.append(67)
>>> lst
['a', 45, 89, 'who', 67]


clear() - удаляет все элементы из списка

>>> a = [1,2]
>>> a.clear()
>>> a
[]


copy() - делает поверхностную копию списка

>>> a = [1, 2]
>>> b = a.copy()
>>> b.append(3)
>>> a
[1, 2]
>>> b
[1, 2, 3]
 
>>> c = [1, 2, [3, 4]]
>>> d = c.copy()
>>> d.append(5)
>>> c[2].append(6)
>>> c
[1, 2, [3, 4, 6]]
>>> d
[1, 2, [3, 4, 6], 5]


count() - считает, сколько раз в списке встречается переданный аргумент

>>> a = [1, 0, 1, 1, 0]
>>> a.count(1)
3


extend() - добавляет в конец списка итерируемую последовательность.

>>> b
[1, 2, 3]
>>> c = (9, 10)
>>> b.extend(c)
>>> b
[1, 2, 3, 9, 10]
>>> b.extend("abc")
>>> b
[1, 2, 3, 9, 10, 'a', 'b', 'c']
>>> b.extend([12, 19])
>>> b
[1, 2, 3, 9, 10, 'a', 'b', 'c', 12, 19]


index() - возвращает индекс указанного элемента. Если таких элементов несколько, вернет индекс только первого. Если таких элементов нет,генерируется исключение. Вторым и третьим аргументом можно указать срез для поиска.

>>> a = ['a', 'c', 'e', 'a', 'b']
>>> a.index('a')
0
>>> a.index('a', 2)
3
>>> a.index('a', 2, 4)
3
>>> a.index('a', 2, 3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'a' is not in list


insert() - вставляет элемент перед указанным индексом. Сначала передается индекс, затем элемент.

>>> lst.insert(0,10)
>>> lst
[10, 'a', 45, 89, 'who', 67, 'a1', (1, 2, 3)]
>>> lst.insert(len(lst),10)
>>> lst
[10, 'a', 45, 89, 'who', 67, 'a1', (1, 2, 3), 10]
>>> lst.insert(3,10)
>>> lst
[10, 'a', 45, 10, 89, 'who', 67, 'a1', (1, 2, 3), 10]


pop() - удаляет элемент по указанному индексу и возвращает его. Если индекс не указан, то удаляет и возвращает последний элемент. Метод генерирует исключения, если список пуст или указан индекс за пределами диапазона.

>>> lst.pop()
10
>>> lst
['a', 45, 10, 89, 'who', 67, 'a1', (1, 2, 3)]
>>> lst.pop(1)
45
>>> lst
['a', 10, 89, 'who', 67, 'a1', (1, 2, 3)]
>>> lst.clear()
>>> lst.pop()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: pop from empty list
>>> lst.append(10)
>>> lst.pop(2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: pop index out of range


remove() - удаляет первый объект из списка, значение которого равно аргументу. Если такого элемента нет, то возникает ошибка.

>>> lst.remove(10)
>>> lst
['a', 45, 10, 89, 'who', 67, 'a1', (1, 2, 3), 10]
>>> lst.remove(100)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list


reverse() - переворачивает список на месте.

>>> lst
['a', 10, 89, 'who', 67, 'a1', (1, 2, 3), 10]
>>> lst.reverse()
>>> lst
[10, (1, 2, 3), 'a1', 67, 'who', 89, 10, 'a']


sort() - сортировка списка на месте (список изменяется, а не возвращается новый).

>>> li = [4, 1, 9, 5]
>>> li.sort()
>>> li
[1, 4, 5, 9]
>>> print (li.sort())
None