Python: list() - работа со списками (массивами)

Обявление списков производится вызовом директивы list().

a = list()
b = []
c = ['s1', 's2', 's3']
d = [1, 2, 3, 4]

Таблица "Методы списков"

Метод Что делает
list.append(x) Добавляет элемент в конец списка
list.extend(L) Расширяет список list, добавляя в конец все элементы списка L
list.insert(i, x)Вставляет на i-ый элемент значение x
list.remove(x) Удаляет первый элемент в списке, имеющий значение x. ValueError, если такого элемента не существует
list.pop([i]) Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент
list.index(x, [start [, end]]) Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)
list.count(x) Возвращает количество элементов со значением x
list.sort([key=функция]) Сортирует список на основе функции
key=len - сортировка по длине
list.reverse() Разворачивает список
list.copy() Поверхностная копия списка
list.clear() Очищает список

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

Таблица "Внешние функции над списками"

del list1[x] Удаление элемента с индексом x из списка list1  
len([list]) Возвращает длину (количество элементов) списка list  
max([list]) Поиск максимального элемента в списке list  
min([list]) Поиск минимального элемента в списке list  
sum([list]) Вычисление суммы элементов списка list  
sorted([list]) Получить отсортированную копию списка list newList = sorted(list, key=sortByLength)

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

Операция Описание Пример
x in a Проверка, что x содержится в а 5 in [2, 3, 5]
x not in a Проверка, что x не содержится в а
То же, что и not (x in a)
5 not in [2, 3, 6]
a + a2 Конкатенация списков, то есть новый список, в котором сначала идут все элементы a,
а затем все элементы a2
[2, 4] + [5, 3] == [2, 4, 5, 3]
a * k Список a, повторенный k раз [2, 3] * 3 == [2, 3, 2, 3, 2, 3]
a[n] n-й элемент списка,
отрицательные n - для отсчета с конца
[2, 3, 7][0] == 2
[2, 3, 7][-1] == 7
a[start:stop:step] Срез списка [2, 3, 7][:2] == [2, 3]
len(a) Длина списка len([2, 3, 7]) == 3
max(a) Максимальный элемент списка max([2, 3, 7]) == 7
min(a) Минимальный элемент списка min([2, 3, 7]) == 2
sum(a) Сумма элементов списка sum([2, 3, 7]) == 12
a.index(x) Индекс первого вхождения x в a
(вызовет ошибку, если x not in a, то есть если х отсутствует в а)
[2, 3, 7].index(7) == 2
a.count(x) Количество вхождений x в a [2, 7, 3, 7].count(7) == 2
a.append(x) Добавить x в конец a a = [2, 3, 7]
a.append(8)
a == [2, 3, 7, 8]
a.extend(a2) Добавить элементы коллекции a2 в конец a a = [2, 3, 7]
a.extend([8, 4, 5])
a == [2, 3, 7, 8, 4, 5]
del a[n] Удалить n-й элемент списка a = [2, 3, 7]
del a[1]
a == [2, 7]
del a[start:stop:step] Удалить из a все элементы, попавшие в срез a = [2, 3, 7]
del a[:2]
a == [7]
a.clear() Удалить из a все элементы (то же, что del a[:]) a.clear()
bool(a) Один из способов проверить список на пустоту (возвращает True, если список непустой, и False в противном случае)  
a.copy() Копия a (то же, что и полный срез a[:]) b = a.copy()
a += a2
a *= k
Заменить содержимое списка на a + a2
и a * k соответственно
 
a.insert(n, x) Вставить x в a на позицию n, подвинув последующую часть дальше a = [2, 3, 7]
a.insert(0, 8)
a == [8, 2, 3, 7]
a.pop(n) Получить n-й элемент списка и одновременно удалить его из списка.
Вызов метода без аргументов равносилен удалению последнего элемента:
a.pop() == a.pop(-1)
a = [2, 3, 7]
a.pop(1) == 3
a == [2, 7]
a.remove(x) Удалить первое вхождение x в a, в случае x not in a - ошибка a = [2, 3, 7]
a.remove(3)
a == [2, 7]
a.reverse() Изменить порядок элементов в a на обратный (перевернуть список) a = [2, 3, 7]
a.reverse()
a == [7, 3, 2]
a.sort() Отсортировать список по возрастанию a = [3, 2, 7]
a.sort()
a == [2, 3, 7]
a.sort(reverse=True) Отсортировать список по убыванию a = [3, 2, 7]
a.sort(reverse=True)
a == [7, 3, 2]
a.sort() по умолчанию - сортировка по алфавиту a = ['a', 'cc', 'bbb']
a.sort(reverse=True)
a == ['a', 'bbb', 'cc']
a.sort(key=len) len - сортировка по длине a = ['a', 'cc', 'bbb']
a.sort(key=len)
a == ['a', 'cc', 'bbb']
a.sort(key=len, reverse=True)
a == ['bbb', 'cc', 'a']

newList = sorted(sortList) Получить в newList отсортированную копию sortList newList = sorted(sortList, key=len)

Примеры

# Сортируем на основе 2-го элемента
def keyFunc(item):
   return item[1]

# Неупорядоченный список
unordered = [('b', 'b'), ('c', 'd'), ('d', 'a'), ('a', 'c')]

# Сортировка списка с помощью ключа
unordered.sort(key=keyFunc)

# Вывести отсортированный список
print('Ordered list:', unordered)

# Сортировка по значению
listr.sort(key=lambda el: el[1], reverse=True)

Рейтинг

Проблемы с госуслугами, медленный интернет или плохая связь? Напишите об этом — Минцифры поможет с решением