1、集合的定义
- 由不同元素组成的集合,集合是一组无序排列 可hash值,可作为字典的key
- 集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无须纠结于集合中的单个值。
- 不同元素组成
- 无序
- 集合中的元素必须是不可变类型
2、集合的使用
- 声明集合 ```bash jihe={a,b,1,2}
注意: 与字典看上去类似,但是是不一样的。字典是 dict1 = {key:value,key2:value2,}需要key
- 自动去重
注意,集合是有不同元素组成,所以即便里面的值重复了,也会去重
```bash
set1 = {1, 2, 4, 3, 3, 4, 4, 3, 3, 2, 2, 2, 2, 1}
print(set1)
#结果
{1, 2, 3, 4}
- 添加元素 set.add() 方法 ```bash set1 = {1,3} set1.add(2) print(set1)
结果
{1,2,3}
- 删除集合元素
```bash
set.pop() 与 set.remove()
# pop会从集合中随机删除一个数
v = set1.pop()
print(set1, "v = ", v)
#结果
{'s', 2, 1}
# remove 可以传参数删除指定的值,但是要注意,如果传的值不存在会报错,慎用
set1.remove(2)
print(set1)
#set.discard() 与remove()用法相同,但是如果元素不存在,不会报错
set1 = {"s", 1, "234", 2}
b = set1.discard("123123")
print(b)
set1.discard("s")
print(set1)
3、集合的运算
交集运算(intersection)
stu_shuxue = {"陈司", "李大", "王二"}
stu_yuwen = {"陈司", "王二"}
#取交集
print(stu_shuxue.intersection(stu_yuwen))
并集,set.union()方法
stu_shuxue = {"陈司", "李大", "王二"}
stu_yuwen = {"陈司", "王二"}
#取并集
print(stu_shuxue.union(stu_yuwen))
差集 set.difference()
set1 = {"陈司","高","富","帅"}
set2 = {"某人","高","富","丑"}
#方法1
print(set1.difference(set2))
#结果
{'帅', '陈司'}