все Python 3Множества (set)понятие
Создание множества
создание
Множество создаётся литералом {1, 2}, конструктором set() или frozenset(); пустое — только set(). Дубликаты удаляются. Порядок не гарантирован.
Синтаксис
{a, b} | set(iterable) | frozenset(iterable)
Пустое множество создаётся только вызовом set(): фигурные скобки {} дают пустой словарь. Элементы обязаны быть хешируемыми — список внутрь не положить (кортеж можно), и обычное множество не может быть элементом другого множества, для этого есть неизменяемый frozenset. Ещё ловушка: set('abc') разбирает строку на отдельные символы, а не кладёт её целиком.
Примеры
s = {1, 2, 3}
# → {1, 2, 3}
s2 = set([1, 2, 2, 3, 3])
print(s2)
# → {1, 2, 3} (дубли удалены)
s3 = set('hello')
print(sorted(s3))
# → ['e', 'h', 'l', 'o'] (порядок элементов множества не определён, поэтому сортируем)
empty = set()
print(type(empty))
# → <class 'set'> ({} — это dict!)
fs = frozenset([1, 2, 3])
print(fs)
# → frozenset({1, 2, 3})
nums = [1, 1, 2, 2, 3]
unique = list(set(nums))
print(sorted(unique))
# → [1, 2, 3]
s4 = {x**2 for x in range(5)}
print(sorted(s4))
# → [0, 1, 4, 9, 16]
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности