Не путайте в Python списки и массивы: в первых можно хранить разнородные объекты. Здесь кратко описаны все основные методы списков Python 3.x.
Когда речь идет о массивах, обычно мы подразумеваем набор однородных элементов. Но в Python списки – это не массивы. Список (list) может представлять коллекцию разнородных объектов: целые и дробные числа, строки, логические значения и т. д. Описанное свойство позволяет разработчикам применять списки более гибко, чем обычные массивы. Среди типов данных Python списки являются одним из наиболее мощных и часто используемых.
Как в Python создаются списки?
В Python списки создаются двумя способами:
- С помощью квадратных скобок []
- С помощью функции list()
Элементы списка можно сразу поместить внутрь скобок. По умолчанию создается пустой list.
>>> # Рассмотрим создание списка на примере дел ... # Второй будем использовать для хранения абстрактной информации ... >>> todo_list = [] >>> general_info = list() >>> type(todo_list), type(general_info) (<class 'list'>, <class 'list'>)
Итак, мы создали два пустых списка. Заполним их данными.
Как добавить данные в список?
В языке программирования Python это изменяемые объекты. Можно добавлять, заменять или удалять конкретные элементы, не следя за остальными. Добавить элементы в список можно двумя методами:
- append()
- insert()
Добавление элемента методом append()
append() добавляет в конец списка элемент, переданный в качестве аргумента:
>>> todo_list.append('Завтрак, зарядка, душ') >>> todo_list.append('Чтение статей на proglib') >>> todo_list.append('Дорога до работы') >>> todo_list ['Завтрак, зарядка, душ', 'Чтение статей на proglib', 'Дорога до работы']
Добавление элемента методом insert()
insert() принимает два аргумента – индекс позиции и вставляемый элемент:
>>> general_info.insert(0, 'Важные математические константы') >>> general_info.insert(1, 1j) >>> general_info.insert(2, 3.1415926) >>> general_info.insert(3, False) >>> general_info.insert(4, 1) >>> general_info ['Важные математические константы', 1j, 3.1415926, False, 1]
Как обратиться к элементам списка Python?
Есть три способа:
- Оператор индекса
- Оператор среза
- Итерирование
Оператор индекса
Индекс используется для доступа к отдельному элементу.
>>> todo_list[2] 'Дорога до работы' >>> general_info[1] 1j
Оператор среза
Срез применяется для обращения к нескольким элементам списка. Синтаксис: list_name[start:stop:step], где
- start – индекс, с которого начинается срез (по умолчанию начало списка)
- stop – индекс, до которого осуществляется срез (по умолчанию конец списка)
- step – шаг приращения, по умолчанию равно 1
>>> general_info[:2] # срез с начала до 2 индекса, не включая ['Важные математические константы', 1j] >>> general_info[2:4] # срез с индекса 2 по 3 [3.1415926, False] >>> general_info[::2] # чётные индексы ['Важные математические константы', 3.1415926, 1]
Обратите внимание: если указан индекс stop, то срез осуществляется вплоть до него, но исключая сам элемент.
Итерирование
Списки Python – итерируемые объекты. Для перебора элементов списка не нужен счетчик:
>>> for item in todo_list: ... print(item) ... Завтрак, зарядка, душ Чтение статей на proglib Дорога до работы
Как удалить элемент из списка?
Всего два метода:
- remove()
- pop()
Удаление элемента методом remove()
remove() находит и удаляет элемент из списка:
>>> general_info.remove(False) >>> general_info ['Важные математические константы', 1j, 3.1415926, 1]
Удаление элемента методом pop()
pop() удаляет и возвращает элемент, по умолчанию последний:
>>> general_info.pop() 1 >>> general_info.pop() 3.1415926 >>> general_info ['Важные математические константы', 1j]
О методах поподробнее
Посмотреть аттрибуты и функции объекта списка, как и других объектов Python, можно передав список функции dir(). Вот сокращенный вид выводимого функцией списка:
>>> dir(todo_list) [... 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Ничего сложного, правда? :)
Обобщим и дополним примеры использования методов списков:
- a.append(e) – добавляет переданную переменную e в конец списка a
- a.clear() – удаляет все элементы из списка a
- a.copy() – возвращает копию списка a
- a.count(e) – возвращает число столько раз, сколько элемент e встречается в списке a
- a.extend(b) – добавляет все элементы списка b в конец списка a
- a.index(e) – находит и возвращает индекс первого элемента списка a, равного e
- a.insert(i, e) – вставляет элемент e на позицию с индексом i
- a.pop(i) – возвращает и удаляет элемент с индексом i (по умолчанию последний)
- a.remove(e) – удаляет элемент e из списка a
- a.reverse() – разворачивает в обратном порядке элементы списка a
- a.sort() – сортирует элементы списка a в восходящем порядке
Когда использовать списки Python?
Используйте списки Python, если от структуры данных нужно следующее:
- Хранить объекты данных нескольких типов.
- Сохранять очередность элементов и порядок вставки.
- Хранить повторяющиеся значения.
- Изменять элементы.
Комментарии