手记

Python 集合 — set

引言

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


0人推荐
随时随地看视频
慕课网APP