欢迎访问宙启技术站
智能推送

Python中的集合类型和常用操作

发布时间:2024-01-11 19:29:00

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的并集

以上是一些常用的集合操作和使用例子,集合类型非常适合用来处理不重复的数据或者进行集合运算。