set()內(nèi)置函數(shù)根據(jù)給定的iterable創(chuàng)建Python集。
set()的語(yǔ)法為:
set(iterable)
推薦閱讀: Python set(集合)
set() 接受一個(gè)可選參數(shù):
set() 返回:
如果未傳遞任何參數(shù),則為空集
由給定的iterable參數(shù)構(gòu)造的集合
# 空集 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)))
輸出結(jié)果
set() {'P', 'o', 't', 'n', 'y', 'h'} {'a', 'o', 'e', 'u', 'i'} {'a', 'o', 'e', 'u', 'i'} {0, 1, 2, 3, 4}
注意:我們無(wú)法使用{ }語(yǔ)法創(chuàng)建空集,因?yàn)樗鼤?huì)創(chuàng)建一個(gè)空字典。要?jiǎng)?chuàng)建一個(gè)空集,我們使用set()。
# 從 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))
輸出結(jié)果
{'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 是 iterable print_num = PrintNumber(5) # 創(chuàng)建一個(gè)set print(set(print_num))
輸出結(jié)果
{1, 2, 3, 4, 5}