python-集合
1. 集合
-
集合(Set):是一个无序、不重复元素的序列,主要用于元素去重和关系测试。
-
关系测试支持:
-
联合
-
交集
-
差集
-
对称差集
-
-
定义方法:set()函数或者大括号来创建集合。
-
注意:想要创建空集合,必须使用set()而不是{}。后者用于创建空字典。
2. 基本操作
-
定义空集合
computer = set()
-
定义集合:
computer = {"主机","显示器","鼠标","键盘"} 或者 computer = set(["主机","显示器","鼠标","键盘","主机"])
-
常用命令
-
列表去重
computer = ["主机","显示器","鼠标","键盘","显示器","鼠标"] s = set(computer) print(s)
3.关系测试
关系符号 | 描述 |
---|---|
- | 差集 |
& | 交集 |
| | 合并、并集 |
!= | 不等于 |
== | 等于 |
-
对两个列表进行关系测试:
a = set([1, 2, 3, 4, 5, 6]) b = set([4, 5, 6, 7, 8, 9])
-
返回a集合中元素在b集合没有的
print(a -b)
-
返回b集合中元素在a集合中没有的
print(b -a)
-
返回交集,即两个集合中一样的元素
print(a & b)
-
返回合集,即合并去重
print(a | b)
-
判断是否不相等
print(a != b)
-
判断是否相等
print(a == b)
4. 案例
4.1 集合基本操作
#!/usr/bin/env python3
# _*_ coding: utf-8 _*_
# Author:shichao
# File: .py
computer = {"主机","显示器","鼠标","键盘","音响","内存","cpu","主机"}
lst = set(computer)
print(lst)
# 添加
computer.add("耳机")
print(computer)
# 删除
computer.remove("键盘")
print(computer)
computer.pop()
print(computer)
4.2 集合关系测试
#!/usr/bin/env python3
# _*_ coding: utf-8 _*_
# Author:shichao
# File: .py
a = set([1, 2, 3, 4, 5, 6])
b = set([4, 5, 6, 7, 8, 9])
# 返回a集合中元素在b集合没有的
print(a - b)
# 返回b集合中元素在a集合中没有的
print(b - a)
# 返回交集,即是两个集合中一样的元素
print(a & b)
# 返回合集,即合并去重
print(a | b)
# 判断是否不相等
print(a != b)
# 判断是否相等
print(a == b)