English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
set()内置函数根据给定的iterable创建Python集。
set()的语法为:
set(iterable)
推荐阅读: Python set(集合)
set() 接受一个可选参数:
set() 返回:
如果未传递任何参数,则为空集
由给定的iterable参数构造的集合
# 空集 print(set()) # iterable为字符串 print(set('Python')) # iterable为元组 print(set(('a', 'e', 'i', 'o', 'u'))) # iterable为列表 print(set(['a', 'e', 'i', 'o', 'u'])) # Итерируемый объект - 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().
# Из набора print(set({'a', 'e', 'i', 'o', 'u'})) # Из словаря print(set({'a':1, 'e': 2, 'i':3, 'o':4, 'u':5})) # Из冻结енного набора 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'}
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 является итерируемым print_num = PrintNumber(5) # Создание набора print(set(print_num))
Результат вывода
{1, 2, 3, 4, 5}