Списки (List): создание и базовые операции
Что такое списки и зачем они нужны?
Списки (List) — это упорядоченные изменяемые коллекции объектов в Python. Представьте себе поезд, где каждый вагон — это элемент списка. Вагоны могут быть разными (числа, строки, даже другие списки!), но у каждого есть свой порядковый номер (индекс).
Пример из жизни: список дел на день, ингредиенты для рецепта или топ-5 любимых песен — всё это можно описать через списки!
# Примеры списков
shopping_list = ["Яблоки", "Молоко", "Хлеб"] # Список строк
temperatures = [23.5, 19.2, 25.6, -3.0] # Список чисел
mixed_list = [42, "Hello", True, 3.14] # Смешанный список
Как создавать списки? ️
Списки можно создать двумя способами:
1. Через квадратные скобки [] (самый частый способ):
colors = ["red", "green", "blue"]
2. Через функцию list() (например, для преобразования строки или кортежа):
digits = list("12345") # ['1', '2', '3', '4', '5']
3. Пустой список (чтобы заполнить его позже):
empty_list = []
# Или так:
another_empty_list = list()
Базовые операции со списками 🔄
1. Обращение к элементам (индексация)
Каждый элемент списка имеет индекс (начинается с 0!). Можно использовать и отрицательные индексы (счёт с конца).
fruits = ["яблоко", "банан", "апельсин"]
print(fruits[0]) # "яблоко" (первый элемент)
print(fruits[-1]) # "апельсин" (последний элемент)
2. Изменение элементов
Списки изменяемы (в отличие от строк или кортежей)! Меняем значение по индексу:
fruits[1] = "киви" # Теперь список: ["яблоко", "киви", "апельсин"]
3. Срезы (slicing)
Можно получить подсписок через срезы [start:stop:step]:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers[2:6]) # [2, 3, 4, 5] (элементы с 2 до 5)
print(numbers[::2]) # [0, 2, 4, 6, 8] (каждый второй)
4. Длина списка
Функция len() вернёт количество элементов:
print(len(fruits)) # 3 (для списка fruits выше)
Методы списков, которые стоит знать ️
Списки обладают полезными методами. Вот топ-5 самых частых:
-
.append(x)— добавить элемент в конец:python fruits.append("виноград") # ["яблоко", "киви", "апельсин", "виноград"] -
.insert(i, x)— вставить элемент на позициюi:python fruits.insert(1, "лимон") # ["яблоко", "лимон", "киви", "апельсин", "виноград"] -
.remove(x)— удалить первый элемент со значениемx:python fruits.remove("киви") # Удалит "киви" -
.pop([i])— удалить и вернуть элемент по индексуi(по умолчанию — последний):python last_fruit = fruits.pop() # Удалит и вернёт "виноград" -
.sort()— сортировка списка (можно задатьkey=иreverse=):python numbers = [3, 1, 4, 2] numbers.sort() # [1, 2, 3, 4]
Пример: работа со списком покупок 🛒
Давайте напишем мини-программу для управления списком покупок:
shopping_list = ["Хлеб", "Яйца"]
# Добавляем новый товар
shopping_list.append("Молоко")
print("Список после добавления:", shopping_list)
# Удаляем "Яйца"
shopping_list.remove("Яйца")
print("Список после удаления:", shopping_list)
# Сортируем по алфавиту
shopping_list.sort()
print("Отсортированный список:", shopping_list)
Вывод:
Список после добавления: ['Хлеб', 'Яйца', 'Молоко']
Список после удаления: ['Хлеб', 'Молоко']
Отсортированный список: ['Молоко', 'Хлеб']
Важные нюансы ⚠️
-
Копирование списков:
python list1 = [1, 2, 3] list2 = list1.copy() # Создаёт независимую копию! -
Сравнение списков:
python [1, 2, 3] == [1, 2, 3] # True (сравниваются элементы) -
Конкатенация (объединение):
python new_list = [1, 2] + [3, 4] # [1, 2, 3, 4]
Где узнать больше? 📚
Для углублённого изучения списков и других структур данных в Python рекомендую YouTube-канал Данилы Бежина — там есть отличные разборы с примерами!
Теперь вы знаете основы работы со списками. Попробуйте написать свой мини-проект, например, «Ежедневник задач» или «Учёт расходов» — это отличный способ закрепить знания! 🚀