Списки в Python используют для решения множества задач в программировании. Давайте посмотрим, что они собой представляют и как взаимодействовать с list. Попробуем создать собственные структуры данных и поработать с ними.
Что собой представляют списки в Python (list)
Списки в Python — это тип данных, который содержит коллекцию объектов. В процессе написания кода разработчики дополняют, редактируют и удаляют элементы в списке. Какую последовательность задаёт программист, так её и запомнит Python.
Нумерация (индексация) происходит автоматически от 0. Пронумерованные значения могут представлять как целые числа, так и строки. Последовательности чисел и строк бывают однородными или смешанными. Пример представлен на скрине.
Списки в Python (list) похожи на массивы, только с особенностями каждого из типов.
Особенности списков как типа данных
Значения, из которых состоит list, называют элементами. Программисты могут вызывать их по индексам.
Рассмотрим пример:
my_list = [100, 200, 300, 400, 500]
# Получаем элемент списка по индексу.
element = my_list[2] # Он будет равен 300
При обращении к данным list учитывают, что нумерация начинается с 0. При обращении к одному из элементов программист должен указать номер столбца и строки.
Во время работы со сложными математическими операциями используют специальную библиотеку NumPy. В ней вы найдёте мощные N-мерные массивы, генераторы случайных чисел и многое другое.
Есть ещё одна особенность: принцип работы создания list в Python состоит из резервирования пустой области в памяти компьютера. Это распространяется на любой другой тип данных. Однако именно содержимое list может быть изменено в будущем. Остальные типы данных не изменяются в процессе создания приложения или при его работе.
Где применяют списки
Списки в программировании на Python используют, когда нужно:
-
реализовать структуры данных, таких как стеки или очереди;
-
отсортировать или отфильтровать компоненты для проведения анализа данных;
-
передать их в функции как аргументы для последующей обработки;
-
хранить и передавать информацию, являющуюся результатом запросов к БД.
Списки применяют для хранения и обработки данных, полученных из API и веб-сервисов. Например, для работы с SMS API от МТС Exolve тоже используют списки, когда пишут код в Python.
Основные функции и запросы списков в Python
Запрос |
Значение |
append(item) |
Добавление в конец списка |
insert(index, item) |
Добавление элемента в индекс |
extend(items) |
Добавление набора компонентов в конец списка |
remove(item) |
Удаление компонента |
clear() |
Полное очищение списка |
index(item) |
Возвращение индекса компонента. Если программа его не находит, то выводит ошибку ValueError |
reverse() |
Расстановка компонентов списка в обратном порядке |
copy |
Копирование списка |
Встроенные функции для списков Python
Встроенные функции |
Значение |
len |
Возвращение длины list |
sorted |
Возвращение отсортированного списка |
min/max |
Возвращение наименьшего или наибольшего компонента списка |
Работа со списками
Теперь, когда мы знаем, что такое списки, и изучили их функции и методы, создадим собственный. Этого можно добиться разными способами, но мы попробуем сделать list вручную и через преобразование других типов данных в список.
Создание и индексация
Для начала работы с командой list нужно зайти в интегрированную среду для программирования на языке Python. Используйте PyCharm — простую и одновременно мощную IDE для написания, редактирования и тестирования кода.
Давайте создадим список из следующих чисел: 1000, 2000, 3333. Что нужно сделать:
my_list = []
my_list.append("1000")
my_list.append("2000")
my_list.append("3333")
['1000', '2000', '3333']
Пропишите следующий код:
my_lst = list('Wonderful')
print(my_lst)
Система отобразит литеры списком: [‘W’,’o’,’n’,’d’,’e’,’r’,’f’,’u’,’l’].
Допустим, у нас есть строка «Я люблю программирование». Преобразуем её в список.
Пропишите следующий код:
sp = list('Я люблю программирование')
print(sp)
Система отобразит строку с литерами списком: ['Я', ' ', 'л', 'ю', 'б', 'л', 'ю', ' ', 'п', 'р', 'о', 'г', 'р', 'а','м','м','и','р','о','в','а','н','и','е'].
Изменение и объединение
Разработчики изменяют элементы с помощью команды list. Решим такую задачу. У нас есть список из следующих элементов: l, 1, 20, 400, 5000. Нам предстоит изменить число 20 на 1000.
Для этого пропишите следующий код:
my_lis = ['l', 1, 20, 400, 5000]
my_lis[2] = 1000 # меняем элемент с индексом 2 на значение 1000.
print(my_lis)
Ответ: ['l', 1, 1000, 400, 5000].
Как видите, число 20 было успешно заменено на 1000.
Теперь рассмотрим два списка, которые необходимо объединить. Например, у нас есть список из строки I Love и You.
Пропишем в IDE следующий код:
list1 = ["I Love"] # Можно использовать одинарные кавычки и двойные ‘’, ‘’ ‘’.
list2 = ["You"]
Объединим их с использованием оператора «+»:
result = list1 + list2
print(result)
Система выдаст следующее значение: ['I Love', 'You'].
Давайте теперь попробуем использовать метод extend():
list1.extend(list2)
print(list1)
Система выдаст нам такое значение: ['I Love', 'You'].
Перебор элементов и сравнение
Перебирают элементы в Python с помощью циклов for и while. Давайте попробуем перебрать последовательность литер a, b, c, d, e.
Пропишем код:
my_list = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
for item in my_list:
print(item)
Этот код переберёт все элементы в my_list и выведет их на экран.
Сделаем то же самое только с помощью цикла While.
Напишем код:
my_list = ['a', 'b', 'c', 'd', 'e']
index = 0 # Исправлено: убрана a и добавлена начальная позиция 0.
while index < len(my_list):
print(my_list[index])
index += 1
Здесь программа будет перебирать литеры, начиная с a, увеличивая индекс на 1 при каждой итерации.
Представим, что у нас есть два списка "a", "b", "c" и "1", "2", "3". Давайте попробуем сравнить их в Python.
list1 = ["a", "b", "c"]
list2 = ["1", "2", "3"]
result = list(zip(list1, list2)) # ZIP — это функция, принимающая файлы, списки, строки на входе и группирующая их в неизменяемый список.
for item in result:
print(item)
Будут созданы пары, и система выведет на экран:
('a', '1')
('b', '2')
('c', '3')
Заключение
Вы познакомились со списками в Python и научились создавать их, изменять и перебирать элементы. Используйте изученную информацию в будущем при написании кода.