Python set() 使用方法及示例
set()内置函数根据给定的iterable创建Python集。
set()的语法为:set(iterable)
set()参数
set() 接受一个可选参数:iterable(可选) - 要转换为集合的序列(字符串,元组等)或集合(集合,字典等)或迭代器对象。
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}