Списки в Python

списки в PythonПривет всем! В прошлой записи мы познакомились с основными типами данных. И сегодня более подробно мы рассмотрим списки в Python.

В целом списки можно представить как некую упорядоченную коллекцию объектов, типы которых не имеют значения. В качестве самого простого списка можно представить любое слово. Например — слово «Пример». Для обозначения списка используются квадратные скобки [], после чего идет само тело списка:

Более подробно код можно расписать так:
list = [‘Пример’] — list — название списка, [] — обозначение списка, ‘Пример’ — содержимое списка
list2 = [1, 2] — list2 — название списка, [] — обозначение списка, 1, 2 — содержимое списка
print (list) — вывод списка list на экран
print (list2) — вывод списка list2 на экран

Список можно создавать и программным методом. Для этого используется цикл внутри квадратных скобок. Пример кода выглядит так:

где:
list = [ i*2 for i in range(1,10)] — созданный список list, заполненный с помощью цикла i*2 for i in range(1,10)]. i — итератор, умноженный на два для позиции i в промежутке от 1 до 10 (используется функция range(). Чаще всего она используется в циклах for. Сама функция может принимать от одного до трех аргументов, но аргументы могут быть только целыми числами)
print (list) — вывод сформированного списка

Понятное дело — созданный список нужно как-то обработать. А значит — пора познакомиться с основными функциями и методами списков.

Важно: все описанные ниже методы списков в отличии методов, имеющих отношение к строкам (подробнее тут) — изменяют сам список, а значит — результат исполнения не нужно записывать в переменную, привязанную к списку.

Для начала — попробуем вывести каждый элемент списка на отдельной строке. Для этого используем цикл в виде: for x in list, где x — итератор, list — название списка:

Более подробно код выглядит следующим образом:
list = [1, 2, 3, 4, 5] — сам список
for x in list: — цикл итерации по списку
print (x) — вывод элемента на экран

list.append(x) — добавление элемента х в конец списка list. На практике код выглядит следующим образом:

а если рассмотреть его более подробно, то:
list = [1, 2, 4] — сам список
print(list) — вывод списка на экран
list.append(5) — подключаем метод append и таким образом добавляем в список list (название списка) число 5. Важно: метод append добавляет в конец списка
print(list) — выводим список list на экран. Как видим — в конце появилось число 5

list.extend(list2) — добавляет в конец списка list все элементы списка list2. Сам пример рабочего кода — ниже:

Аналогично с предыдущим кодом, давайте разберем этот:
list = [1, 2, 3] — список 1
list2 = [4, 5, 6] — список 2
print(list) — вывод на экран списка 1
print(list2) — вывод на экран списка 2
list.extend(list2) — подключаем метод добавления данных из списка 2 в конец списка 1
print(list) — выводим содержимое списка 1. Как видим — в конце появились данные из списка 2

list.insert(i, x) — данный метод позволяет поставить на позицию i значение x. В виде кода это можно представить следующим образом:

где:
list = [1, 2, 4] — список list
print(list) — выводим список на экран
list.insert(2, 3) — подключаем метод insert, который добавляет на позицию 2 значение 3. Тут важно помнить, что отсчет в Python начинается с нуля).
print(list) — выводим на экран список list.

list.remove(x) — удаление первого элемента в списке, значение которого равно x. Важно знать что если такого элемента в списке не будет — получим ValueError:

list.pop([i]) — удаление элемента на позиции i и его возврат. Если i не указано — удаляем последний элемент:

Тут рассмотрим код подробнее:
list = [1, 2, 3, 4, 5] — сам список
print (list) — вывели список на экран
list.pop() — удалили последний элемент в списке (ведь индекс не указан!)
print (list) — распечатали список. Как видно — последний элемент и правда удален.
list.pop(2) — удаляем второй элемент в списке.
print (list) — распечатываем список. И правда — удален второй элемент.

list.index(x) — вывод номера позиции в списке элемента x:

list.count(x) — возврат количества элементов списка со значением x:

Как видно из кода:
list = [‘яблоко’, ‘абрикос’, ‘груша’] — имеется список из трех элементов
print (list) — выводим на экран список
print (list.count(‘яблоко’)) — подключаем функцию подсчета количества элементов в списке. Как видно — яблоко в списке встречается только раз.

list.sort([key=функция]) — сортировка списка на основе требуемой функции

list.reverse() — метод, позволяющий развернуть список:

list.copy() — метод создания поверхностной копии списка:

list.clear() — метод для очистки списка. Был себе список с данными, а потом оп-па… и данных нет. Но список есть:

Самое удивительное — а как удалить значение из списка я указать-то и забыл 🙂 Восполняю пробел:
del list[0], где 0 — удаляемая позиция в списке 🙂