что делает в питоне list
Списки (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(что делает в питоне list) | Сортирует список на основе функции |
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 :
Алиасинг (псевдонимы)
Когда две переменные ссылаются на один и тот же объект:
Алиасинг значит, что на объект ссылается больше одного имени.
Следующий пример показывает, как меняются изменяемые списки:
№9 Списки (list) / Уроки по Python для начинающих
В языке программирования Python существует четыре типа данных для хранения последовательностей:
При выборе типа последовательности полезно знать и понимать свойства каждого из типов. Выбор правильного типа для определенного набора данных помогает сохранить смысл, и это дает повышение эффективности или безопасности.
Списки
Списки это упорядоченная и изменяемая последовательность. В Python списки записываются в квадратных скобках.
Доступ к элементам списка
Вы получаете доступ к элементам списка, ссылаясь на номер индекса.
Выведем второй элемент списка:
Как изменить значение по индексу
Для того, чтобы изменить значение определенного элемента, ссылайтесь на номер индекса.
Поменяйте второй элемент:
Итерация по списку
Вы можете проходить по элементам списка с помощью цикла for
Выведем все элементы в списке, один за другим:
Узнать больше о цикле for вы можете изучив раздел Python цикл for.
Длина списка
Чтобы определить сколько элементов списка у вас есть, пользуйтесь методом len()
Выведем число элементов в списке:
Добавить элементы
Чтобы добавить элементы в конец списка, используйте метод append()
Для того, чтобы добавить элемент по указанному индексу, используйте метод insert() :
Вставьте элемент в качестве второй позиции:
Удаление элементов
Существует несколько методов удаления элементов списка
Метод remove() удаляет определенные элементы:
Метод pop() удаляет элемент по индексу (или последний элемент, если индекс не указан) и возвращает его:
Ключевое слово del удаляет определенный индекс:
Ключевое слово del может полностью удалить список:
Метод clear() очищает список:
Конструктор list()
Вы так же можете использовать конструктор list() для создания списка.
Методы списков
Более подробно о применении методов списков:
У Python есть набор встроенных методов, которые вы можете использовать при работе со списками:
Списки python — функции и методы Python list()
Как создать список?
Доступ к элементам списка
Каждый элемент имеет присвоенный ему индекс. Важно отметить, в python индекс первого элемента в списке — 0.
Также поддерживается отрицательная индексация. Отрицательная индексация начинается с конца. Иногда её удобнее использовать для получения последнего элемента в списке, потому что не нужно знать длину списка, чтобы получить доступ к последнему элементу.
Срезы(slice) списка
Срезы хороши для получения подмножества значений с вашего списка. На примере кода, приведенного ниже, он вернет список с элементами из индекса 0 и не включая индекс 2.
Код, указанный ниже возвращает список с элементами начиная с индекса 1 до конца.
Изменение элементов в списке
Списки в Python изменяемы. Это означает, что после создания списка можно обновить его отдельные элементы.
Методы и функции списков python
У списков Python есть разные методы, которые помогают в программировании. В этом разделе рассматриваются все методы списков.
Метод Index
Вы также можете указать, откуда начинаете поиск.
Метод Count
Метод count работает так, как звучит. Он считает количество раз, когда значение появляется в списке.
Метод Sort
Метод sort сортирует и меняет исходный список.
Вышеуказанный код сортирует список чисел от наименьшего к наибольшему. Код, указанный ниже, показывает, как вы можете сортировать список от наибольшего к наименьшему.
Следует отметить, что вы также можете отсортировать список строк от А до Я (или A-Z) и наоборот.
Метод Append
Метод append добавляет элемент в конец списка. Это происходит на месте.
Метод Remove
Код удаляет первое вхождение значения 2 из списка z.
Метод Pop
Метод pop удаляет элемент в указанном индексе. Этот метод также вернет элемент, который был удален из списка. В случае, если вы не указали индекс, он по умолчанию удалит элемент по последнему индексу.
Метод Extend
Метод extend расширяет список, добавляя элементы. Преимущество над append в том, что вы можете добавлять списки.
Добавим [4, 5] в конец z :
Метод Insert
Метод insert вставляет элемент перед указанным индексом.
Простые операции над списками
Примеры использование функций со списками:
Операторы + и * для списков
+ объединяет два списка.
* копирует элементы в списке.
Оператор in и not in
Аналогично not in возвращает противоположный от оператора in результат.
Итерация по списку с использованием цикла for
Список — последовательность. Ниже способ, которые вы можете использовать для цикла, чтобы перебрать все элементы списка.
Преобразование списка в строку
Вот несколько полезных советов для преобразования списка в строку (или любого другого итерабельного, такого как tuple ).
Во-первых, если это список строк, вы можете просто использовать 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
Итоги
Из этой статьи вы узнали, как создавать списки, как брать срезы, как добавлять и удалять элементы из списков, а также — как сортировать списки.