Списки в Python
Списки в Python — это упорядоченные изменяемые коллекции элементов. Списки могут содержать элементы различных типов данных: числа, строки, другие списки и т.д.
Создание списка
Список создается с помощью квадратных скобок:
# Создание списка с числами
numbers = [1, 2, 3, 4, 5]
# Список со строками
fruits = ['apple', 'banana', 'cherry']
# Список смешанных типов
mixed_list = [1, 'apple', 3.14, True]
Индексация и срезы
Списки индексируются с нуля. Индекс может быть положительным или отрицательным. Положительные индексы отсчитываются от начала списка, а отрицательные — от конца.
numbers = [10, 20, 30, 40, 50]
# Доступ к элементу по индексу
print(numbers[0]) # 10
print(numbers[-1]) # 50
# Срезы
print(numbers[1:4]) # [20, 30, 40]
print(numbers[:3]) # [10, 20, 30]
print(numbers[::2]) # [10, 30, 50]
Если вы укажите индекс, которого нет в списке (выйдете за пределы списка), то
получите ошибку The IndexError: list index out of range error
Методы списков
Python предоставляет множество методов для работы со списками. Рассмотрим самые полезные из них.
append()
Метод append() добавляет элемент в конец списка.
numbers = [1, 2, 3]
numbers.append(4)
print(numbers) # [1, 2, 3, 4]
insert()
Метод insert() вставляет элемент в заданную позицию.
numbers = [1, 2, 4]
numbers.insert(2, 3) # Вставить 3 на позицию с индексом 2
print(numbers) # [1, 2, 3, 4]
remove()
Метод remove() удаляет первый встреченный элемент из списка. Если элемент не найден, вызывается ошибка.
fruits = ['apple', 'banana', 'cherry']
fruits.remove('banana')
print(fruits) # ['apple', 'cherry']
pop()
Метод pop() удаляет элемент по заданному индексу и возвращает его. Если индекс не указан, удаляется последний элемент.
numbers = [1, 2, 3, 4]
last_element = numbers.pop()
print(last_element) # 4
print(numbers) # [1, 2, 3]
index()
Метод index() находит индекс первого вхождения элемента.
numbers = [1, 2, 3, 4]
print(numbers.index(3)) # 2
count()
Метод count() возвращает количество вхождений элемента в список.
numbers = [1, 2, 2, 3, 2]
print(numbers.count(2)) # 3
sort() и reverse()
Методы sort() и reverse() позволяют сортировать список и изменять его порядок соответственно
numbers = [5, 2, 3, 1, 4]
# Сортировка списка
numbers.sort()
print(numbers) # [1, 2, 3, 4, 5]
# Обратный порядок
numbers.reverse()
print(numbers) # [5, 4, 3, 2, 1]
Операции над списками
Конкатенация
Списки можно объединять с помощью оператора +
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2
print(combined) # [1, 2, 3, 4, 5, 6]
Умножение
Оператор *
позволяет повторить элементы списка несколько раз
numbers = [1, 2, 3]
repeated = numbers * 2
print(repeated) # [1, 2, 3, 1, 2, 3]
Проверка на наличие элемента
Для проверки наличия элемента в списке используется оператор in
numbers = [1, 2, 3, 4, 5]
print(3 in numbers) # True
print(6 in numbers) # False
Списки и циклы
Списки активно используются в циклах
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)
Вложенные списки
Списки могут содержать другие списки, образуя так называемые многомерные списки
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# Доступ к элементу в вложенном списке
print(matrix[1][2]) # 6
Заключение
Списки — это мощный и гибкий инструмент для работы с коллекциями данных в Python. Они поддерживают множество полезных методов, позволяют работать с элементами с использованием индексов и срезов, а также выполнять различные операции для модификации данных.