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(key=len) |
len - сортировка по длине | a = ['a', 'cc', 'bbb'] |
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)