1.今天学习的内容为集合,我们在之前数学中也接触过集合,是一样的,只不过这次是用到了程序中。
2.集合用两种用途,去重与关系测试,集合也是无序的。
3.可以将列表使用set方法转化为集合,现在有一个列表list_1,如下:
list_1=[1,4,5,7,3,6,7,9] #列表
list_1=set(list_1) #转化为集合,并去掉重复的
print(list_1,"\n",type(list_1))
list_2=set([2,6,0,66,22,8,4])
print(list_1,list_2)
4.一下为集合经常用到的运算,这里直接列出来,用的时候可以直接查询。
print(list_1.intersection(list_2)) #取交集
print(list_1.union(list_2)) #取并集
print(list_1.difference(list_2)) #取差集,将集合2中的值与集合1对比,将集合1中的值在2中没有的值取出来,in list_1,but not in list 2
print(list_1.issubset(list_2)) #判断1是不是2的子集,结果返回布尔值,如果是返回True,不是返回False;list_1<=list_2
print(list_1.issuperset(list_2)) #判断1是不是2的父集;list_1>=list-2
list_3=set([1,3,7])
print(list_3.issubset(list_1)) #判断3是不是1的子集
print(list_1.issuperset(list_3))
print(list_1.symmetric_difference(list_2)) #对称差集,将两个集合中相同的去掉,将其他的输出
list_4=set([5,6,8])
print(list_3.isdisjoint(list_4)) #如果两个集合没有交集,返回为真
5.交集、并集、差集可以用运算符来实现,
print(list_1&list_2) #取交集
print(list_2|list_1) #取并集
print(list_1-list_2) #差集,in list_1,but not in list 2
print(list_1^list_2) #对称差集
6.增加与删除元素
(1)增加元素,add()只能添加一项。
list_1.add(999) #添加一项
list_1.update([10,37,42]) #添加多项
print(list_1)
(2)删除,list.pop(),任意删除,返回值为删除元素。
#print(list_1.pop()) #任意删除,返回值为删除的数据
#print(list_1.discard('555'))#discard如果删除的不存在,不会报错
#print(list_1.remove(10)) #remove如果删除的不存在,会报错