Sobes.tech
Intern
135
questionbank

В чем отличие списка от кортежа?

Ответ от нейросети

sobes.tech AI

Основное отличие в мутабельности (изменяемости). Список — мутабельный, кортеж — немутабельный.

  • Списки (list)
    • Могут быть модифицированы после создания (добавление, удаление, изменение элементов).
    • Создаются с использованием квадратных скобок [].
    • Немного больше размер в памяти и немного медленнее по сравнению с кортежами (из-за необходимости зарезервировать место для будущих изменений).
    • Часто используются для коллекций однородных элементов, размер которых может меняться.
  • Кортежи (tuple)
    • Не могут быть модифицированы после создания. Попытка изменить элемент вызовет ошибку.
    • Создаются с использованием круглых скобок () (скобки необязательны для кортежей с более чем одним элементом, но рекомендуются для ясности; для кортежа из одного элемента нужна запятая).
    • Немного меньше размер в памяти и немного быстрее по сравнению со списками.
    • Часто используются для хранения разнородных элементов, представляющих собой единую сущность (например, координаты (x, y)) или в качестве ключей словарей (т.к. они хешируемые благодаря немутабельности).
# Пример списка
my_list = [1, 2, 3]
my_list.append(4)  # Изменение возможно
print(my_list)

# Пример кортежа
my_tuple = (1, 2, 3)
# my_tuple.append(4) # Это вызовет AttributeError
print(my_tuple)