- Python基础视频教程
- 朱泽坤
- 401字
- 2020-08-27 19:27:09
3.4 set
set(集合)可以被看成没有“值”的dict,即只有“键”,没有“值”。set通常用于检查某个“键”是否在集合中。
3.4.1 set的定义
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_35.jpg?sign=1739062194-yXpMETed9ShlhoYlhNFLt57e1B937QdJ-0-0ebf2c754b2056d141c4d4fa6c09ca1e)
与dict类似,set也是用花括号定义的,不过只有“键”,没有“值”。有一点值得注意,如果声明一个空集合,就必须用到“set()”,这是因为“{}”表示空dict。
3.4.2 set插入数据
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_36.jpg?sign=1739062194-d6Q4HpjHZHIvhUAmGAhVYMQ50dc7D9KF-0-411f21a88ad3f5b57bc23593caa348a7)
通过add方法新增集合中的数据。从上述例子中可以看到,就算“add”多次同样的数据,集合中也不会多次出现这些数据,因为集合中存储的数据都是去重后的。
3.4.3 set删除数据
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_37.jpg?sign=1739062194-lT8qFkJBEKILaYvXFuhFBGzFrCSqUd45-0-8dcce135f2349e224247eae2003bdc75)
remove方法的作用是删除集合中的数据。如果要删除的数据不在集合中,就会报错。
3.4.4 set的常用方法
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_39.jpg?sign=1739062194-xr1okpeHQOZQBxsTFiTEWjZICOlT9186-0-3e2e3ac82902b4d052952f79dd398a21)
set同样可以用“in”关键字判断集合中是否有某个元素,set也可以用len函数获取当前集合的长度。
3.4.5 set运算
想必大家在中学数学课中学习过集合。集合的几个常用运算包括交集、并集和子集等。
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_40.jpg?sign=1739062194-Lv9Mwt8sA7TqIK2JakeX6UNVfD6NRzJ3-0-0e2fc555d5c568d317114f7bc64774ac)
“a & b”求a和b的交集。
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_41.jpg?sign=1739062194-YliJqSq94okimrOSxLsGsUdKiNuy512Q-0-d9cc36d08dfb54415c69b451846e31a4)
“a | b”求a和b的并集。
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_42.jpg?sign=1739062194-CpBU96q1ZaqPEA9bhPOFonsVBDf2xmcj-0-0338e0b05ac25d31ab5f8550f0d594ec)
“a.issubset(b)”判断a是否是b的子集。
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_43.jpg?sign=1739062194-Z9mRcRHNfWxSo6V6YiQQhtRZrzBdnOm0-0-2ea6499f0f588b64666a72ef8e242932)
“b.issubset(a)”判断b是否是a的子集。
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_44.jpg?sign=1739062194-ExcTa6KZksivcoLgjvv9XDNg30rwZ6qI-0-282867c938251e4e5168dd337833e36a)
“b - a”求b和a的差集。