1、集合的定义
- 由不同元素组成的集合,集合是一组无序排列 可hash值,可作为字典的key
- 集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无须纠结于集合中的单个值。
- 不同元素组成
- 无序
- 集合中的元素必须是不可变类型
2、集合的使用
- 声明集合 ```bash jihe={a,b,1,2}
注意: 与字典看上去类似,但是是不一样的。字典是 dict1 = {key:value,key2:value2,}需要key
- 自动去重注意,集合是有不同元素组成,所以即便里面的值重复了,也会去重```bashset1 = {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}
- 删除集合元素```bashset.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 = {"某人","高","富","丑"}#方法1print(set1.difference(set2))#结果{'帅', '陈司'}
