Python集合之set和frozenset的使用详解
简介
Python中的集合(set)是无序且元素不可重复的数据结构。Python内置了两种集合数据类型,分别是set和frozenset。其中set是可变的,而frozenset是不可变的。
set类型
创建set
可以使用花括号{}或set()函数来创建一个set。
>>> # 使用花括号创建set
>>> set1 = {1, 2, 3}
>>> print(set1)
{1, 2, 3}
>>> # 使用set()函数创建set
>>> set2 = set()
>>> set2.add('a')
>>> set2.add('b')
>>> set2.add('c')
>>> print(set2)
{'b', 'a', 'c'}
set的基本操作
集合与其它容器类型如列表的操作类似,支持添加、删除、判断元素是否在集合中、求交集、并集等操作。
>>> set1 = {1, 2, 3}
>>> set1.add(4) # 添加元素
>>> set1
{1, 2, 3, 4}
>>> set1.remove(4) # 移除元素
>>> set1
{1, 2, 3}
>>> 2 in set1 # 判断元素是否在集合中
True
>>> set2 = {3, 4, 5}
>>> set1.intersection(set2) # 求交集
{3}
>>> set1.union(set2) # 求并集
{1, 2, 3, 4, 5}
frozenset类型
frozenset和set的用法基本相同,区别在于frozenset是不可变类型。这意味着frozenset无法进行添加、删除、更新等操作。
创建frozenset
可以使用frozenset()函数来创建一个frozenset。
>>> fs1 = frozenset([1, 2, 3, 4, 5])
>>> print(fs1)
frozenset({1, 2, 3, 4, 5})
frozenset的基本操作
由于frozenset是不可变类型,因此不能进行添加、删除、更新等操作,只能进行判断元素是否在集合中、求交集、并集等操作。
>>> fs1 = frozenset([1, 2, 3])
>>> fs2 = frozenset([2, 3, 4])
>>> 2 in fs1 # 判断元素是否在集合中
True
>>> fs1.intersection(fs2) # 求交集
frozenset({2, 3})
>>> fs1.union(fs2) # 求并集
frozenset({1, 2, 3, 4})
结语
本文简要介绍了Python中集合(set)和不可变集合(frozenset)的用法。集合和不可变集合可以帮助我们快速地进行数据去重、交、并。在实际开发过程中,适当地应用集合和不可变集合能够提高代码的运行效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python集合之set和frozenset的使用详解 - Python技术站