Разница между списком и кортежем

1. Основные отличия

Характеристика

Список (list)

Кортеж (tuple)

Изменяемость

Изменяемый (mutable)

Неизменяемый (immutable)

Синтаксис

[1, 2, 3]

(1, 2, 3) или 1, 2, 3

Методы

append, extend, remove, pop и др.

Нет методов для изменения

Производительность

Медленнее из-за изменяемости

Быстрее при доступе к элементам

Использование

Когда нужен модифицируемый контейнер

Когда нужен фиксированный набор данных


2. Примеры

2.1 Список

lst = [1, 2, 3]
lst.append(4)
lst[0] = 10
print(lst)  # [10, 2, 3, 4]

2.2 Кортеж

tup = (1, 2, 3)
# tup[0] = 10  # TypeError: 'tuple' object does not support item assignment
print(tup)   # (1, 2, 3)

3. Когда использовать

  • Список: тестовые данные, изменяемые коллекции, динамические структуры.

  • Кортеж: координаты, фиксированные конфигурации, ключи словаря (так как кортеж хэшируемый).


4. Применение в автотестах

  • Список:

    test_data = [("user1", "pass1"), ("user2", "pass2")]
    for username, password in test_data:
        assert login(username, password)
  • Кортеж:

    coordinates = (10, 20)  # фиксированная точка на UI
    assert move_to(coordinates)

💡 Вывод:

  • list = изменяемый контейнер, много методов для модификации.

  • tuple = неизменяемый контейнер, быстрее и безопаснее для фиксированных данных.

Last updated

Was this helpful?