1. 集合的作用
-
去重:把一个列表变成集合,就自动去重了。 -
关系测试:测试两组数据之前的交集、差集、并集等关系。
2. 集合的特征
② 集合也使用{ }表示, 与字典不同的是:字典中存储的是键值对,集合中存储的是单一的元素;
③ 注意 1:x = { }表示的是空字典,不表示集合;
④ 注意 2:x = set()可以创建空集合;
⑤ 集合中不含有重复元素,集合自动过滤重复元素;
>>> x = {1,2,3,1,2,3}
>>> len(x)
3
>>> x
{1, 2, 3}
⑦ 集合中元素类型,必须是可哈希类型;
-
一个对象在其生命周期内,如果保持不变,就是 hashable(可哈希的),像 tuple和 string 是可哈希的, list、 set和 dictionary 都是不可哈希的。
>>> x = {[1,2,3],4}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> y = [(1,2,3),4]
>>> y
[(1, 2, 3), 4]55
-
在集合中:x = {1,2,3} -
在字典中:x = {1:None, 2:None, 3:None}
3. 集合比较运算
3.1 ==:两个集合中元素是否一致
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> u = {1,2,3,4,5}
>>> s == t
False
>>> s == u
True
3.2 >、 >=、 < 、 <=:父集、子集比较
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> u = {1,2,3}
>>> s > t
False
>>> s > u
True
>>> u < t
False
>>> u < s
True
3.3 is、 is not:比较两个集合是否是同一个对象
>>> s = {1,2,3}
>>> t = s.copy()
>>> t
{1, 2, 3}
>>> s == t
True
>>> s is t
False
4. 集合推导式:可以自动去重
>>> s = {i for i in range(10)}
>>> s
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> t = {i for i in [1,2,3,4,2,3]}
>>> t
{1, 2, 3, 4}
5. 集合运算
5.1 in:判断某个元素是否在集合中,是返回 True,否返回 False
>>> s = {1,2,3,4}
>>> 2 in s
True
>>> 6 in s
False
5.2 &:返回两个元素的交集,相当于 s.intersection(t)
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> s & t
{4, 5}
>>> s
{1, 2, 3, 4, 5}
5.3 |:返回两个元素的并集,相当于 s.union(t)
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> s | t
{1, 2, 3, 4, 5, 6, 7}
5.4 -:返回两个元素的差集, 相当于 s.difference(t)
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> s - t
{1, 2, 3}
5.5 ^:返回两个元素的对称差集, 相当于 s.symmetric_difference(t)
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> s ^ t
{1, 2, 3, 6, 7}
今天的文章就到这里,咋们下次再见!
👇👇各种Python案例,点击名片关注👇👇
EXCEL “统计分析” 模板一共19个,限时免费提供!
神级Excel模板【第二弹】,福利升级,限时免费下载!


