编辑这个页面须要登录或更高权限!

Python set() 使用方法及示例

Python 内置函数

set()内置函数根据给定的iterable创建Python集。

set()的语法为:

set(iterable)

推荐阅读: Python set(集合)

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}

Python 内置函数

Python 基础教程
Python 流程控制
Python 函数
Python 数据类型
Python 文件操作
Python 对象和类
Python 日期和时间
Python 高级知识
Python 参考手册