Back to questions
Junior — Middle
83
Какие типы данных или элементы могут быть включены в коллекцию типа set?
Answer from AI
sobes.tech AI
В коллекцию типа set в Python можно включать только те объекты, которые являются хешируемыми (hashable). Это означает, что объект должен иметь неизменяемое состояние и реализовывать методы __hash__() и __eq__().
Типичные примеры элементов, которые можно включать в set:
- Числа (
int,float) - Строки (
str) - Кортежи (
tuple), если все их элементы тоже хешируемы - Булевы значения (
bool)
Нельзя включать изменяемые типы, например:
- Списки (
list) - Словари (
dict) - Множества (
set)
Пример:
s = set()
s.add(10) # int
s.add("hello") # str
s.add((1, 2, 3)) # tuple
# s.add([1, 2, 3]) # Ошибка: list не хешируемый
Таким образом, элементы множества должны быть неизменяемыми и хешируемыми, чтобы гарантировать корректную работу структуры данных.