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