引言
set(集合)虽然用的很少,但它是一个无序的不重复元素序列,用来简单的去重挺快的。
集合的定义
set(集合) 与列表类似,不同之处在于集合的 元素不重复
集合和字典一样也是用 {} 定义,但元素之间使用 , 分隔,或者使用 set()
{ } 定义
set()
定义
set() 只接受一个参数
注意:空集合不能用 s = {}
来定义这样默认是字典,应该 s = set()
集合常用操作
集合所有内置方法如下:
方法太多我选几个常用的测试一下。
集合添加元素
使用 add()
即可向集合中添加元素
集合移除元素
remove()
移除集合中的元素,且如果元素不存在,会报错discard()
移除集合中的元素,且如果元素不存在,不会发生错误pop()
随机移除集合内的一个元素
其实set 集合的 pop方法会将集合的左边第一个元素进行删除,并返回删除的元素。
集合统计、清空元素
len() 统计集合元素个数
clear() 清空集合
集合元素获取(遍历)
集合不支持索引,也没有方法进行获取,因此只能采用
for ... in ...
遍历方式获取元素。
集合之间的运算
集合差运算 -
a - b
就相当于在a
中去除跟b
相同的元素b - a
也就是在b
中去除跟a
相同的元素a - b
等同于a.difference(b)
集合并运算 |
集合交运算 &
集合异或运算 ^
把 a, b
集合中的相同元素都去掉,剩下的就是 ^
异或运算的结果。
应用场景
普通for循环去重
利用集合简单去重
这样把原来的列表类型变成了集合类型,这样更不好操作,这样不是想要的结果。
因此要做到 去重加类型不变,只要再嵌套一个list()
即可
去重保持原来的顺序
使用 sort + set
去重
使用 sorted + set
去重
————————————————
版权声明:本文为CSDN博主「忆想不到的晖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43629857/article/details/120346851