集合(set):集合是一个无序的序列,集合中的元素可以是任意数据类型;表现形式是set(集合的元素),能够实现自动去重;集合传入的必须是一个hashable类型值,(不能存储字典格式的值);并且创建集合的时候还不能够这样表示set1={},这个表示不是空集合,这表示的是空字典;
1.创建一个集合
# 直接声明:
set1 = {1,2,3,4}
list1 = [1,2,3,4,1,2,3,4] set1 = set(list1) # 将列表传入 print(set1) # 返回值为:{1, 2, 3, 4}
2.集合的运算关系
交集:取两个集合的相同元素构成一个新集合
# 集合求交集 set1 = {1,2,3,4,5,6,'c','d'} set2 = {'a','b','c','d',1,6} print(set1 & set2) # 返回的结果为:{1, 'c', 'd', 6}
并集:取两个集合的所有元素构成一个新集合去除相同元素
# 集合求并集 set1 = {1,2,3,4,5,6,'c','d'} set2 = {'a','b','c','d',1,6} print(set1 | set2) # 返回的结果为:{'b', 1, 2, 3, 4, 5, 6, 'a', 'd', 'c'}
差集:由A集合-B集合,去掉A集合中元素在B集合中,只取A集合中元素不在B集合中的,并生成一个新集合
# 集合求差集 set1 = {1,2,3,4,5,6,'c','d'} set2 = {'a','b','c','d',1,6} print(set1 - set2) # 返回的结果为:{2, 3, 4, 5}
非集合:取两个集合的交集,然后根据交集取两个集合的补集,最后将补集取并集
# 集合求非集 set1 = {1,2,3,4,5,6,'c','d'} set2 = {'a','b','c','d',1,6} print(set1 ^ set2) # 返回的结果为:{2, 3, 4, 5, 'a', 'b'}
3.集合的判断方法
# 判断此集合是否被另外集合包含 print(set1.issubset(set2)) # 如果set2集合中元素包含了set1则会返回True否则返回False # 判断此集合是否包含另外一个集合 print(set1.issuperset(set2))# 如果set1集合中元素包含了set2则会返回True否则返回False # 如果两个集合的交集为空则返回True print(set1.isdisjoint(set2))