10-27笔记.集合

很惭愧,昨天玩儿了会儿,blog没有写,今天坚持更。

①集合

一个元组:list_1 = [1,4,5,3,6,7,9]  注意,这是一个元组,他是中括号。

如果想让他变成一个集合,两种方法:第一种,写的时候就写 list_1 = {1,4,5,7,3,6,7,9}

                                                            第二种, list_1 = set{list_1}  就可以将一个元组变成一个集合了

②判断集合的关系

为什么要有集合的增删改查,比如你想知道两个集合的关系,他们是不是又交集,他们的并集是什么,或者想看一个集合是不是另一个集合的子集或者父集

交集:第一种, print (list_1.intersection(list_2))  其中list_1.intersection(list_2)是求集合1和集合2的交集,然后print            第二种,print (list_1 & list_2)

并集:第一种, print(list_1.union(list_2)) ,第二种 print(list_1 | list_2)

差集:第一种,print(list_1.difference(list_2)) ,第二种 print(list_1 - list_2)  

子集:只有一种 print(list_1.issubset(list_2)) ,只会显示 True or False ,这句话表示判断1是不是2的子集

父集:只有一种 print(list_1.issuperset(list_2)) ,只会显示 True or False ,这句话表示判断1是不是2的父集

对称差集:第一种 print(list_1.symmetric_difference(list_2)) ,第二种 print(list_1 ^ list_2)

这是两种对称差集的表达形式,这有什么用,这表示两个集合的并集再减去两个集合的交集

list_1 = {1,4,5,7,3,6,7,9}
list_2 = {6,7,9}
print(list_1 ^ list_2)
list_3 = list_1 & list_2
list_4 = list_1 | list_2
list_5 = list_4 - list_3
print(list_5)

集合1和集合5结果是一样的

③集合的增删改查

list_1 = set([1,4,5,7,3,6,7,9])
list_1.add(999)                            增加一个
list_1.update([777,888,999])       增加三个,注意,如果想print,一定要先update在print,如果print(list_1.update([777,888,999])),则会显示None。

删有两种,一种 :

list_1 = {1,4,5,7,3,6,7,9}  这时候可以 list_1.remove(1) 结果就是把1去除掉。如果 list_1.remove(2),这时候再print就会报错,因为list_2里面不含有2。

                 另一种:

list_1 = {1,4,5,7,3,6,7,9}  这时候可以 list_1.discard(1) 结果就是把1去除掉。如果 list_1.discard(2),这时候再print还是会显示list_1。

好了,学习下一个知识了~学完整理下发下一篇

原文地址:https://www.cnblogs.com/zaizaiaipython/p/7742378.html