Python 集合(Set):无序不重复元素集的特性与操作
集合(Set)
(图片来源网路,侵删)
中的集合(Set)是一个无序的、不重复的元素集,它的主要特点是成员的惟一性,即集合中不容许有重复的元素,集合对象还支持像联合、交集、差集和对称差分等物理运算。
创建集合
在中,可以通过以下几种方法创建集合:
1、使用set()函数将列表、元组或其他可迭代对象转换为集合。
2、使用花括弧{}来定义一个空集合或包含初始元素的集合。
3、使用类型字面量set来定义一个集合。
<pre class="brush:python;toolbar:false”>
方法1: 使用set()函数
my_set = set([1, 2, 3, 4])
方法2: 使用花括号{}
another_set = {1, 2, 3, 4}
方法3: 使用类型字面量
yet_another_set = set(1, 2, 3, 4)
集合操作
集合支持多种操作,包括添加元素、删除元素、检查元素是否存在等。
1、添加元素:使用add()方式向集合中添加一个元素。
2、删除元素:使用()方式从集合中删掉一个元素,假若元素不存在,则抛出异常。
3、检查元素:使用in关键字来检测一个元素是否在集合中。
添加元素my_set.add(5)删除元素my_set.remove(1)检查元素print(3 in my_set) # 输出:True
集合支持多种物理运算,如并集、交集、差集和对称差集。
1、并集:使用union()方式或|运算符来获取两个集合的并集。
2、交集:使用()方式或&运算符来获取两个集合的交集。
3、差集:使用()方式或运算符来获取两个集合的差集。
4、对称差集:使用()方式或^运算符来获取两个集合的对称差集。
并集a = {1, 2, 3}b = {3, 4, 5}print(a.union(b)) # 输出:{1, 2, 3, 4, 5}交集print(a & b) # 输出:{3}差集print(a b) # 输出:{1, 2}对称差集print(a ^ b) # 输出:{1, 2, 4, 5}
冻结集合
还提供了一种不可变集合类型,称为冻结集合(),与普通集合不同,冻结集合是不可变的,这意味着一旦创建了冻结集合,就不能修改其内容。
frozen_set = frozenset([1, 2, 3])
集合推论式
类似于列表推论式,也支持集合推论式,这是一种简约的方法来创建集合。
squares = {x**2 for x in range(10)}
集合与字典的区别
其实集合和字典都使用大括弧{}来表示,但它们之间有一些关键区别:
集合是无序的,而字典是有序的。
集合中的元素是惟一的,而字典中的键是惟一的,值可以重复。
集合主要用于成员测试和物理运算,而字典主要用于储存通配符对。
相关问答FAQs
Q1:集合中是否可以有重复元素?
A1:不可以,集合的一个基本特点就是其中的元素是惟一的,不容许有重复元素。
Q2:怎样从一个集合中移除所有元素?
A2:可以使用clear()方式来清空一个集合中的所有元素。.clear()。