Тип данных list в Python – это список или лист, т.е list – упорядоченный массив данных, то есть упорядоченная совокупность данных. Он может состоять из разных элементов, которые отличаются не только своим значением, но и типом. То есть вполне нормально увидеть список, внутри которого есть числа, строки и даже другие списки.
Создать пустой список (list)
my_lst = [] – мы создали список my_lst, но он пустой! Если проще сказать, пустой список создаем с помощью пустых квадратных скобок. А так же можно создать вызвав функцию list()
my_lst = [] my_lst = list()
Методы добавления, удаления и редактирования элементов в списке
Для того, что бы добавить элемент в список мы можем использовать 2 метода:
Метод списка append() – добавляет элемент в конец списка:
my_lst.append(5) # добавили элемент 5 в список my_lst.append(10) # добавили еще один элемен 10 в конец списка print(my_lst) # [5, 10]
Добавим в список другой тип данных, не целое число:
name = "Good Day" my_lst.append(name) print(my_lst) # результат будет: [5, 10, "Good Day"]
Итак, мы видим, что в списке действительно могуь храниться и другие типы, и даже списки – получим вложенный список в список.
Что бы вставить элемент в конкретное место списка необходимо использовать метод insert(), в него передать первым параметром индекс, по которому мы хотим вставить эелемент, а вторым параметром сам элемент. Что такое индексы и для каких типов данных они применяются мы рассказываем в статье: Индексация в python
my_lst.insert(1, 55) # по индексу 1 вставляем элемент 55
На самом деле, на этом методы не заканчиваются, а сам тип данных list в Python очень интересный и совсем не сложный, его нужно просто понять и усвоить, как с ним работать! Различные задачи, в том числе и с использование списков мы решаем в этой рубрике.
С помощью метода pop() мы можем удалять элементы списка! Но, есть нюанс:
это метод удаляет последний элемент списка, но внутрь него можно передать номер элемента, который необходимо удалить, и тогда он удалит именно его:
my_lst.pop() # удаляем последний элемент
Или же, передать в метод pop() индекс того элемента, который хотим удалить:
my_lst.pop(0) # удаляем первый элемент
Метод Python для списков remove() – удаляет указанный элемент, то есть необходимо указать не индекс, а сам элемент. Если одинаковых элементов несколько, то будет удален только первый из них. Если передать не существующий элемент в метод remove(), то получим ошибку выполнения кода.
my_lst = [2, 4, 1, 6, 12, 3, 17, 25] print(my_lst.remove(1)) # удаляем 1 со списка print(my_lst.remove(50)) # получаем ошибку
Если нам необходимо произвести копирование из одного списка в другой, то используем метод copy(). Но будьте аккуратны и бдителны, этот метод производит так называемое поверхносное копирование, что это такое и в чем разница между поверхносным и глубоким мы писали в этой статье:
my_lst = [2, 4, 1, 6, 12, 3, 17, 25] new_lst = my_lst.copy() print(new_lst)
Сортировка списков – Тип данных list в Python
Для того, что отсортировать список необходимо использовать метод sort(), если мы не передаем в него параметров, то по умолчанию он сортирует от меньшего к большему, если передадим параметр reverse = True:
my_lst = [2, 4, 1, 6, 12, 3, 17, 25] my_lst.sort() print(my_lst) my_lst.sort(reverse=True) print(my_lst)
При желании список можно развернуть с помощью метода reverse():
my_lst.reverse() #разворачиваем список print(my_lst)
Задачу по сортировке списка без использования методов и функций мы решали здесь.
Python также позволяет выявить наибольший и наименьший элементы списка, а также его сумму, а заодно важно, чтобы все элементы были числами:
list_1 = [3,1,2] list_2 = [4,5,6] print(max(list_1)) print(min(list_2)) print(sum(list_2))
Когда список очень большой, иногда возникает потребность найти в нем количество определённого элемента. Тогда используется метод count()
my_lst = [2, 4, 1, 6, 12, 1, 3, 17, 1, 25, 1] print(my_lst.count(1)) # 4 единиц в нашем списке
Что бы узнать, сколько всего элементов в списке необходимо применить функцию len() и передать в нее наш список:
my_lst = [2, 4, 1, 6, 12, 1, 3, 17, 1, 25, 1] print(len(my_lst)) # 11
Метод index() – покажет индекс покажет индекс искомого элемента, т.е. в метод нужно передать тот элемент, индекс которого хотим узнать! Если элемента такого нет в списке, получим ошибку.
my_lst = [2, 4, 1, 6, 12, 1, 3, 17, 1, 25, 1] print(my_lst.index(1)) # Получаем 2, так как индекс 1 - как раз 2 print(my_lst.index(100)) # Получаем ошибку ValueError
Метод extend() – добавим элементы одного списка в другой:
my_lst = [2, 4, 1, 6, 12, 1, 3, 17, 1, 25, 1] you_lst = [10, 20, 30] my_lst.extend(you_lst) print(my_lst)
Тип данных list в Python имеет и некоторые другие методы и функции, например any() или all(), но здесь мы отобразили основные, с которыми вы возможно столкнетесь в 99% случаев! Не забываем, что в большинстве случаев, если мы сталкиваемся со списками, работаем с ними через циклы.