Sobes.tech
Junior — Middle
111

Quelle est la différence entre les collections de type set et list en Python en termes de fonctionnement et d'utilisation?

Réponse de l'IA

sobes.tech IA

Основные различия между коллекциями set и list в Python:

  • Уникальность элементов:

    • set хранит только уникальные элементы, дубликаты автоматически удаляются.
    • list может содержать повторяющиеся элементы.
  • Порядок элементов:

    • В list сохраняется порядок добавления элементов.
    • В set порядок не гарантируется (начиная с Python 3.7 порядок вставки сохраняется, но не стоит на него полагаться).
  • Доступ по индексу:

    • В list можно обращаться к элементам по индексу, например my_list[0].
    • В set нет индексов, элементы перебираются в произвольном порядке.
  • Производительность:

    • Проверка наличия элемента в set происходит быстрее (O(1)) благодаря хэшированию.
    • В list проверка занимает O(n).

Пример:

my_list = [1, 2, 2, 3]
my_set = {1, 2, 2, 3}

print(my_list)  # [1, 2, 2, 3]
print(my_set)   # {1, 2, 3}

print(2 in my_list)  # True
print(2 in my_set)   # True

print(my_list[1])    # 2
# print(my_set[1])   # Ошибка, нельзя индексировать set