Python中的集合类型和常用操作
Python中的集合类型是指set集合和frozenset集合。
set集合是一个无序的,可变的,不重复的元素的集合。它可以用来去除列表中的重复元素,或者检查两个集合之间的交集、并集、差集等操作。
frozenset集合是一个无序的,不可变的,不重复的元素的集合。它不能进行添加、删除等操作,但可以进行交集、并集、差集等查询操作。
下面是一些常用的集合操作和使用例子:
1. 创建集合:
可以使用大括号{}或者set()函数来创建一个空集合。
example:
s1 = set() # 创建一个空集合
s2 = {1, 2, 3, 4, 5} # 创建一个有初始元素的集合
2. 添加元素:
使用add()方法向集合中添加元素。
example:
s1.add(6) # 向s1集合中添加元素6
3. 删除元素:
使用remove()方法从集合中删除指定元素。
example:
s2.remove(4) # 删除s2集合中的元素4
4. 集合的交集:
使用intersection()方法或者&操作符来获取两个集合的交集。
example:
s3 = {1, 2, 3}
s4 = {2, 3, 4}
intersection = s3.intersection(s4) # 获取s3和s4的交集
intersection = s3 & s4 # 求s3和s4的交集
5. 集合的并集:
使用union()方法或者|操作符来获取两个集合的并集。
example:
s5 = {1, 2, 3}
s6 = {2, 3, 4}
union = s5.union(s6) # 获取s5和s6的并集
union = s5 | s6 # 求s5和s6的并集
6. 集合的差集:
使用difference()方法或者-操作符来获取两个集合的差集。
example:
s7 = {1, 2, 3}
s8 = {2, 3, 4}
difference = s7.difference(s8) # 获取s7和s8的差集
difference = s7 - s8 # 求s7和s8的差集
7. 判断子集和超集:
使用issubset()方法来判断一个集合是否是另一个集合的子集,使用issuperset()方法来判断一个集合是否是另一个集合的超集。
example:
s9 = {1, 2, 3}
s10 = {1, 2}
subset = s10.issubset(s9) # 判断s10是否是s9的子集
superset = s9.issuperset(s10) # 判断s9是否是s10的超集
8. 使用frozenset集合:
frozenset集合的操作与set集合类似,只不过它是不可变的,只能进行查询操作,不能进行添加、删除等修改操作。
example:
fs1 = frozenset({1, 2, 3})
fs2 = frozenset({2, 3, 4})
intersection = fs1.intersection(fs2) # 获取fs1和fs2的交集
union = fs1.union(fs2) # 获取fs1和fs2的并集
以上是一些常用的集合操作和使用例子,集合类型非常适合用来处理不重复的数据或者进行集合运算。
