
set()内置函数根据给定的iterable创建Python集。
set()的语法为:
set(iterable)
推荐阅读: Python set(集合)
set()参数
set() 接受一个可选参数:
set()返回值
set() 返回:
- 如果未传递任何参数,则为空集 
- 由给定的iterable参数构造的集合 
示例1:根据字符串,元组,列表和范围创建集合
# 空集
print(set())
# iterable为字符串
print(set('Python'))
# iterable为元组
print(set(('a', 'e', 'i', 'o', 'u')))
# iterable为列表
print(set(['a', 'e', 'i', 'o', 'u']))
# iterable为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:从另一个集合,字典和冻结集合创建集合
# 从 set
print(set({'a', 'e', 'i', 'o', 'u'}))
# 从 dictionary
print(set({'a':1, 'e': 2, 'i':3, 'o':4, 'u':5}))
# 从 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 是 iterable print_num = PrintNumber(5) # 创建一个set print(set(print_num))
输出结果
{1, 2, 3, 4, 5}
                    
                