Встроенная функция set () создает набор в Python.
Синтаксис set()
:
установить (повторяемый)
Рекомендуемая литература: наборы Python
set () Параметры
set()
принимает единственный необязательный параметр:
- iterable (необязательно) - последовательность (строка, кортеж и т. д.) или коллекция (набор, словарь и т. д.) или объект-итератор, который нужно преобразовать в набор.
Возвращаемое значение из set ()
set()
возвращает:
- пустой набор, если параметры не переданы
- набор, построенный из заданного итеративного параметра
Пример 1. Создание наборов из строки, кортежа, списка и диапазона
# empty set print(set()) # from string print(set('Python')) # from tuple print(set(('a', 'e', 'i', 'o', 'u'))) # from list print(set(('a', 'e', 'i', 'o', 'u'))) # from range print(set(range(5)))
Вывод
set () ('P', 'o', 't', 'n', 'y', 'h') ('a', 'o', 'e', 'u', 'i') ( 'a', 'o', 'e', 'u', 'i') (0, 1, 2, 3, 4)
Примечание. Мы не можем создавать пустые наборы, используя ( )
синтаксис, поскольку он создает пустой словарь. Чтобы создать пустой набор, мы используем set()
.
Пример 2: Создание наборов из другого набора, словаря и замороженного набора
# from set print(set(('a', 'e', 'i', 'o', 'u'))) # from dictionary print(set(('a':1, 'e': 2, 'i':3, 'o':4, 'u':5))) # from frozen set frozen_set = frozenset(('a', 'e', 'i', 'o', 'u')) print(set(frozen_set))
Вывод
('a', 'o', 'i', 'e', 'u') ('a', 'o', 'i', 'e', 'u') ('a', 'о' , 'e', 'u', 'i')
Пример 3: Создание set () для настраиваемого итерируемого объекта
class PrintNumber: def __init__(self, max): self.max = max def __iter__(self): self.num = 0 return self def __next__(self): if(self.num>= self.max): raise StopIteration self.num += 1 return self.num # print_num is an iterable print_num = PrintNumber(5) # creating a set print(set(print_num))
Вывод
(1, 2, 3, 4, 5)