Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

В Python есть две базовые структуры данных для хранения коллекций элементов: списки и кортежи.

Обе позволяют хранить несколько значений в одной переменной, но между ними есть важное отличие — списки можно изменять, кортежи нет.

Давайте разберёмся подробнее.


Списки в Python

Список — это изменяемая коллекция элементов.
Изменяемая означает, что вы можете добавлять, удалять и менять элементы в любое время. Списки записываются в квадратных скобках [], а элементы разделяются запятыми.

Пример — создание списка:

fruits = ["apple", "banana", "orange"]
print(fruits)

# Вывод: ["apple", "banana", "orange"]

1.1. Доступ к элементам по индексу

В Python списки (и большинство последовательностей) считаются с индекса 0. Это значит, что первый элемент списка находится на позиции 0, второй — на 1 и так далее.

print(fruits[0])

# Вывод: "apple"
СОВЕТ: Отрицательные индексы считаются с конца: fruits[-1] → "orange"

1.2. Нарезка списков (срезы)

Так же, как и со строками, можно вырезать из списка диапазон элементов:

print(fruits[0:2])

# Вывод: ["apple", "banana"]

Срез [start:end] включает элемент с индексом start, но заканчивается до индекса end.

1.3. Добавление элементов

Метод .append() добавляет элемент в конец списка:

fruits.append("pineapple")
print(fruits)

# Вывод: ["apple", "banana", "orange", "pineapple"]

1.4. Удаление элементов

Метод .remove() удаляет первое вхождение конкретного значения:

fruits.remove("orange")
print(fruits)

# Вывод: ["apple", "banana", "pineapple"]

1.5. Проверка наличия элемента

Оператор in позволяет проверить, присутствует ли значение в списке:

has_orange = "orange" in fruits
print(has_orange)  # False

Этот оператор можно использовать внутри функции:

def is_fruit(item):
    if item in fruits:
        print(f"{item} — это фрукт!")
    else:
        print(f"{item} — НЕ фрукт!")

is_fruit("horse")
is_fruit("apple")

1.6. Изменение элементов

Так как списки изменяемы, можно заменить существующее значение:

fruits[0] = "green apple"
print(fruits)

ВАЖНО!: Списки отлично подходят, когда нужна гибкость. Но если ваша коллекция элементов не должна изменяться, используйте кортеж.


Кортежи в Python

Кортеж очень похож на список, но он неизменяемый. Неизменяемый значит, что, как только кортеж создан, нельзя добавлять, удалять или менять его элементы.

Кортежи записываются в круглых скобках () и элементы разделяются запятыми:

example = (1, 2, 3, 4)
print(example)
Примечание: В кортеже всё ещё могут быть изменяемые объекты, например списки — но сама структура кортежа (то, какие элементы он содержит) не может быть изменена.

Итог

  • Списки: изменяемые, используются [], имеют смысл для коллекций, которые будут меняться.
  • Кортежи: неизменяемые, используются (), отлично подходят для фиксированных данных.

В следующем уроке мы изучим циклы — инструмент, с помощью которого вы будете проходить по каждому элементу этих коллекций и выполнять с ними действия.