Вграденият набор () създава набор в 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', 'o' , „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)