что такое список в python
Списки (list). Функции и методы списков
Сегодня я расскажу о таком типе данных, как списки, операциях над ними и методах, о генераторах списков и о применении списков.
Что такое списки?
Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list:
Список можно создать и при помощи литерала:
Как видно из примера, список может содержать любое количество любых объектов (в том числе и вложенные списки), или не содержать ничего.
Возможна и более сложная конструкция генератора списков:
Но в сложных случаях лучше пользоваться обычным циклом for для генерации списков.
Функции и методы списков
Создать создали, теперь нужно со списком что-то делать. Для списков доступны основные встроенные функции, а также методы списков.
Таблица «методы списков»
Метод | Что делает |
---|---|
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(что такое список в python) | Сортирует список на основе функции |
list.reverse() | Разворачивает список |
list.copy() | Поверхностная копия списка |
list.clear() | Очищает список |
Нужно отметить, что методы списков, в отличие от строковых методов, изменяют сам список, а потому результат выполнения не нужно записывать в эту переменную.
И, напоследок, примеры работы со списками:
Изредка, для увеличения производительности, списки заменяют гораздо менее гибкими массивами (хотя в таких случаях обычно используют сторонние библиотеки, например NumPy).
Примеры работы со списками Python
Список Python — это последовательность значений любого типа: строки, числа, числа с плавающей точкой или даже смешанного типа. В этом материале речь пойдет о функциях списков, о том, как создавать их, добавлять элементы, представлять в обратном порядке и многих других.
Создать списки Python
Для создания списка Python нужно заключить элементы в квадратные скобки:
Список может выглядеть так:
Можно смешивать типы содержимого:
Поддерживаются вложенные списки как в примере выше.
Получать доступ к любому элементу списка можно через его индекс. В Python используется система индексации, начиная с нуля.
Принцип похож на строки.
Изменение списка
Списки — это изменяемые объекты, поэтому их элементы могут изменяться, или же может меняться их порядок.
Если есть такой список:
То его третий элемент можно изменить следующим образом:
Если сейчас вывести его на экран, то он будет выглядеть вот так:
Если индекс — отрицательное число, то он будет считаться с последнего элемента.
Вывод этого кода — ‘пять’.
Проход (итерация) по списку
Читать элементы списка можно с помощью следующего цикла:
Таким образом можно читать элементы списка. А вот что касается их обновления:
Результат будет следующим:
Функция len() используется для возврата количества элементов, а range() — списка индексов.
Стоит запомнить, что вложенный список — это всегда один элемент вне зависимости от количества его элементов.
Срез списка
Можно получить срез списка с помощью оператора ( : ):
Результат кода выше — [‘два’, ‘три’]
Если убрать первое число, от срез будет начинаться с первого элемента, а если второе — с последнего.
Если убрать числа и оставить только двоеточие, то скопируется весь список.
Результат этого года:
Поскольку списки изменяемые, менять элементы можно с помощью оператора среза:
Вставить в список
Метод insert можно использовать, чтобы вставить элемент в список:
Индексы для вставляемых элементов также начинаются с нуля.
Добавить в список
Метод append можно использовать для добавления элемента в список:
Можно добавить и больше одного элемента таким способом:
При этом list_2 не поменяется.
Отсортировать список
Перевернуть список
Можно развернуть порядок элементов в списке с помощью метода reverse :
Индекс элемента
Метод index можно использовать для получения индекса элемента:
Если в списке больше одного такого же элемента, функция вернет индекс первого.
Удалить элемент
Удалить элемент можно, написав его индекс в методе pop :
Если не указывать индекс, то функция удалит последний элемент.
Оператор del можно использовать для тех же целей:
Можно удалить несколько элементов с помощью оператора среза:
Функции агрегации
В Python есть некоторые агрегатные функции:
sum() работает только с числовыми значениями.
Сравнить списки
В Python 2 сравнить элементы двух списком можно с помощью функции cmp :
В Python 3 для этого используется оператор ( == ):
Математические операции на списках:
Для объединения списков можно использовать оператор ( + ):
Список можно повторить с помощью оператора умножения:
Списки и строки
Для конвертации строки в набор символов, можно использовать функцию list :
Функция list используется для того, чтобы разбивать строку на отдельные символы.
Можно использовать метод split для разбития строки на слова:
Она возвращает обычный список, где с каждым словом можно взаимодействовать через индекс.
Символом разбития может служить любой знак, а не только пробел.
Результат будет аналогичен:
Объединить список в строку
Обратный процесс — объединение элементов списка в строку.
Это делается с помощью метода join :
Алиасинг (псевдонимы)
Когда две переменные ссылаются на один и тот же объект:
Алиасинг значит, что на объект ссылается больше одного имени.
Следующий пример показывает, как меняются изменяемые списки:
Списки в Python: полное руководство для начинающих
Представьте, что вы собираетесь заехать за покупками в ближайший супермаркет. Что нужно сделать вначале? Верно! Составить список покупок. А в Python есть структура данных, очень напоминающая такие списки. Собственно, она так и называется — список (англ. list).
Это статья о списках в Python, предназначенная для начинающих. В следующие несколько минут мы познакомимся со списками и рассмотрим самые распространенные операции с ними: срезы и модификации при помощи методов списков.
Итак, давайте погрузимся в тему списков в Python, продолжая проводить аналогии со списками покупок.
Как работают списки
Составляя список покупок, мы записываем нужные нам товары в столбик. В таком виде список легко узнаваем именно как список покупок.
Чтобы Python понял, что имеет дело со списком, нужно заключить все элементы в квадратные скобки ( [] ). Сами элементы при этом разделяются запятыми.
Вот пример создания списка из 6 элементов (пускай это будут товары, которые мы хотим купить).
Изменяемость списков в Python
Имея дело со списком покупок, мы свободно можем его изменять. Например, вычеркнуть овсяное печенье и добавить любимые конфеты. Точно так же можно изменять и списки в Python. Таким образом, списки — изменяемый тип данных.
Вот как можно заменить oatmeal cookies на candy :
Индексация списков в Python
Попытавшись обратиться к элементу по несуществующему индексу, мы получим ошибку — IndexError.
В нашем примере у нас есть список покупок из 6 элементов (диапазон индексов 0-5). Как показано в коде ниже, если мы попытаемся обратиться к элементу под индексом 6, мы получим ошибку, потому что элемента с таким индексом просто нет.
Так же, как список покупок может содержать любые товары (фрукты, овощи, сладости и т. п.), список в Python может содержать элементы любого типа.
Таким образом, список вполне может содержать в себе другие списки в качестве элементов. Это называется вложенностью, а подобные списки — вложенными.
Вот пример вложенного списка покупок, содержащего два списка поменьше:
Как перебирать список в цикле
Если бы нам нужно было не вывести элементы списка, а что-нибудь сделать с каждым из них, лучше было бы использовать range — чтобы получить индексы, а затем перебрать их в цикле.
Как делать срезы списков в Python
Общий шаблон срезов таков:
Срез берется от индекса START (включительно) и до индекса STOP (не включая его), с шагом STEP. Каждый из параметров START, STOP, STEP может быть опущен.
Давайте посмотрим на это в коде:
Операции со списками в Python
Поскольку наш shopping_list содержит только строки, min() возвращает строку, которая шла бы первой, если бы список был упорядочен в алфавитном порядке. max() возвращает строку, которая шла бы последней.
Посмотрим на это в коде:
Мы можем создавать новые списки, объединяя уже существующие — так же, как можем объединять списки покупок.
Методы списков в Python
Помимо уже названных встроенных функций Python имеет еще и несколько специальных методов для работы со списками. С помощью этих методов можно осуществлять разные полезные операции.
Давайте подумаем о списках покупок. Какие операции мы с ними проделываем чаще всего?
Как добавлять элементы в список
Что, если бы мы захотели добавить в список элементы из другого списка (или другого итерируемого объекта)? Вместо того чтобы добавлять их по одному, мы можем воспользоваться методом extend() и добавить все элементы одного объекта в другой.
Оператор + создает новый список, комбинируя списки, указанные в качестве операндов. А методы append() и extend() изменяют список, для которого они вызваны, и не возвращают новых списков.
Как удалять элементы из списка
Мы можем удалять элементы из списка по одному или даже группами.
Если бы мы хотели удалить элемент под определенным индексом, этот индекс можно было бы передать в метод pop() в качестве аргумента.
При этом можно указать как индекс элемента, который нужно удалить, так и срез — чтобы удалить все элементы в указанном диапазоне.
Предположим, мы знаем, какой именно товар в списке покупок мы передумали покупать, но не знаем, какой у него индекс. В подобных случаях можно воспользоваться методом remove() и удалить элемент по значению.
Примечание. При попытке удалить элемент, которого нет в списке, мы получим ValueError.
Сортировка списков в Python
Итоги
Из этой статьи вы узнали, как создавать списки, как брать срезы, как добавлять и удалять элементы из списков, а также — как сортировать списки.
Списки в Python: методы и основные операции
Авторизуйтесь
Списки в Python: методы и основные операции
Списки в Python представляют собой упорядоченные изменяемые наборы объектов, пронумерованных от 0. При этом объекты могут быть разными — от целых чисел до строк. Списки могут также хранить в себе списки.
В статье разберёмся с базовыми принципами списков в Питоне, а также рассмотрим методы работы с ними. Если вы изучаете Python с нуля, предлагаем также ознакомиться с дорожной картой для начинающих.
Хранение в памяти
При создании списка, в памяти резервируется пустая область. С одной стороны, это ничем не отличается от создания любого другого типа данных, но разница в том, что содержимое list может меняться:
До замены элемента последовательности print(numbers[1]) выведет 2, а после замены — 3.
Создание списка в Python
Это можно сделать несколькими способами, например перечислением элементов списка в квадратных скобках:
При этом единица будет на позиции 0, то есть print(numbers[0]) выведет 1.
Также существуют генераторы списков, которые позволяют применить заданное выражение к каждому элементу последовательности. Допустим, необходимо создать list, состоящий из чисел от 1 до 5 включительно:
Срезы (slice) списка
Срезы позволяют получить некое подмножество значений. Следующий код вернёт список с элементами, начиная индексом 0 и не включая при этом индекс 2 и выше:
Далее выведем всё, за исключением элемента на позиции 3:
А теперь начиная с индекса 1 и до конца:
Операции над списками Python
Методы списков Python
Index
Возвращает положение первого совпавшего элемента. Поиск совпадения происходит слева направо. Пример:
Count
Данный метод считает, сколько раз указанное значение появляется в списке Python:
Append
Добавляет указанное значение в конец:
Сортирует список в Пайтоне. По умолчанию от меньшего к большему:
Также можно сортировать последовательность элементов от большего к меньшему:
Insert
Вставляет элемент перед указанным индексом:
Remove
Удаляет первое попавшееся вхождение элемента в списке Python:
Extend
А данный метод удаляет элемент в конкретно указанном индексе, а также выводит удалённый элемент. Если индекс не указан, метод по умолчанию удалит последний элемент:
Преобразовывает список в строку. Разделитель элементов пишут в кавычках перед методом, а сам список Питона должен состоять из строк:
Списки(list) в Python – подробно с примерами
Python состоит из шести типов данных, которые могут хранить последовательности, но наиболее распространенным и надежным типом является список.
Что такое список в Python?
Списки в Python используются для хранения последовательности различных типов данных. Список определяется как набор значений или элементов разных типов. Элементы в списке разделяются запятой(,) и заключаются в квадратные скобки []. Списки являются изменяемым типом, это означает, что мы можем изменить его элемент после его создания.
Список можно определить, как показано ниже:
Если мы попытаемся распечатать тип L1, L2 и L3 с помощью функции type(), то получится список.
Характеристики списков
Список имеет следующие характеристики:
Давайте проверим первое утверждение, что списки упорядочены.
Оба списка состояли из одних и тех же элементов, но второй список изменил позицию индекса 5-го элемента, что нарушает порядок списков. При сравнении списков возвращается false.
Списки поддерживают порядок элементов на протяжении всего существования. Вот почему это упорядоченный набор объектов.
Давайте подробно рассмотрим пример списка.
В приведенном выше примере мы создали списки, состоящие из сведений о сотрудниках и отделах, и напечатали соответствующие данные. Обратите внимание на приведенный выше код, чтобы лучше понять концепцию списка.
Индексирование и расщепление списка
Индексация выполняется так же, как и со строками. Доступ к элементам списка можно получить с помощью оператора slice[].
Индекс начинается с 0 и увеличивается на 1. Первый элемент списка сохраняется в 0-м индексе, второй элемент списка сохраняется в 1-м индексе и так далее.
Мы можем получить подсписок списка, используя следующий синтаксис.
Рассмотрим следующий пример:
Давайте посмотрим на следующий пример, где мы будем использовать отрицательную индексацию для доступа к элементам списка.
Как мы обсуждали выше, мы можем получить элемент, используя отрицательную индексацию. В приведенном коде первая инструкция печати вернула самый правый элемент списка. Второй оператор печати вернул подсписок и так далее.
Обновление значений списка
Списки являются наиболее универсальными структурами данных в Python, поскольку они изменяемы, а их значения можно обновлять с помощью оператора slice и assignment.
Python также предоставляет методы append() и insert(), которые можно использовать для добавления значений в список.
Рассмотрим следующий пример, чтобы обновить значения внутри списка.
Элементы списка также можно удалить с помощью ключевого слова del. Python также предоставляет нам метод remove(), если мы не знаем, какой элемент нужно удалить из списка.
Рассмотрим следующий пример, чтобы удалить элементы списка.
Операции со списком Python
Операторы concatenation(+) и repetition(*) работают так же, как и со строками.
Посмотрим, как список реагирует на разные операторы.
Оператор | Описание | Пример |
---|---|---|
repetition | Оператор повторения позволяет повторять элементы списка несколько раз. | |
concatenation | Он объединяет список, указанный по обе стороны от оператора. | |
Membership | Возвращает истину, если конкретный элемент существует в определенном списке, в противном случае – ложь. | |
Iteration | Цикл for используется для перебора элементов списка. | |
Length | Используется для получения длины списка |
Итерация списка
Список можно повторять с помощью цикла for – in. Простой список, содержащий четыре строки, которые можно повторять следующим образом.
Добавление элементов в список
Python предоставляет функцию append(), которая используется для добавления элемента в список. Однако функция append() может добавлять значение только в конец списка.
Рассмотрим следующий пример, в котором мы берем элементы списка у пользователя и выводим список на консоль.
Удаление элементов из списка
Python предоставляет функцию remove(), которая используется для удаления элемента из списка. Рассмотрим следующий пример, чтобы понять эту концепцию.
Встроенные функции
Python предоставляет следующие встроенные функции, которые можно использовать со списками.
SN | Функция | Описание | Пример |
---|---|---|---|
1 | cmp(list1, list2) | Сравнивает элементы обоих списков. | Этот метод не используется в Python 3 и вышеупомянутых версиях. |
2 | len(list) | Используется для расчета длины списка. | |
3 | max(list) | Возвращает максимальный элемент списка. | |
4 | min(list) | Возвращает минимальный элемент списка. | |
5 | list(seq) | Преобразует любую последовательность в список. |
Давайте посмотрим на несколько примеров списков.
Пример: 1- Напишем программу для удаления повторяющегося элемента списка.
Пример: 2- Напишем программу, чтобы найти сумму элементов в списке.
Пример: 3- Программа для поиска списков, состоящих как минимум из одного общего элемента.