Назад к вопросам
Junior — Middle
75
Как различаются по работе и использованию коллекции типа set и списка list в Python?
Ответ от нейросети
sobes.tech AI
Основные различия между коллекциями 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