1.首先看看集合的定义吧。
定义:集合是一个无序的,不重复的数据组合。
作用:
a.去重:把一个列表变成集合,就自动去重复了。
b.关系测试:测试两组数据之间的交集,差集,并集等关系。
————————————————————————————
第一部分,基本的,集合的操作,啥也不多说,直接上代码。
__author__="heixiong"
# 使用set方法设置集合
list_1=[1,1,4,5,7,3,6,7,9]
list_1=set(list_1)
list_2=set([2,6,0,66,22,8,4])
# 对list_1集合与list_2集合进行打印输出
print(list_1,list_2)
# 交集
print("交集")
# 使用集合中intersection方法求交集
print(list_1.intersection(list_2))
# 求并集
# 使用union方法求并集
print("并集")
print(list_1.union(list_2))
# 求差集
print("差集")
# in list_1 but not in lisst_2
print(list_1.difference(list_2))
# in list_2 but not in list_1
print(list_2.difference(list_1))
list_3=set([1,3,7])
# 求子集
# list_3是list_1的子集
print("子集")
print(list_3.issubset(list_1))
# 求父集
print("父集")
print(list_1.issuperset(list_3))
# 反向差集,英文翻译也叫对称差集:简单点讲就是,取出两者都没有的值
# 使用symmetric_difference方法
print("反向差集")
print(list_1.symmetric_difference(list_2))
print("_"*50)
list_4=set([5,6,7,8])
# return true is two sets have a null intersection 无序列不重复的
print(list_3.isdisjoint(list_4))
————————————————————————————————
第二部分 相关集合的运算操作。
__author__="heixiong"
# 使用set方法设置集合
list_1=[1,1,4,5,7,3,6,7,9]
list_1=set(list_1)
list_2=set([2,6,0,66,22,8,4])
# 对list_1集合与list_2集合进行打印输出
print(list_1,list_2)
# 交集
print(list_1 & list_2)
# 并集
print(list_1 | list_2)
# 差集 在集合1中,但是不在集合2 中
print(list_1-list_2)
# 对称差集
print(list_1 ^ list_2)
# 注意子集父集没有相关的运算符。
# 反正多了也记不住
——————————————————————————————————
第三部分 集合的增删改查
__author__="heixiong"
# 使用set方法设置集合
list_1=[1,1,4,5,7,3,6,7,9]
list_1=set(list_1)
list_2=set([2,6,0,66,22,8,4])
# 对list_1集合与list_2集合进行打印输出
print(list_1,list_2)
# 集合的增删改查
# 增
# 增加一项
list_1.add(999)
# 增加多项
list_1.update([888,777,555])
print("查看列表1")
print(list_1)
# 删除
# remove 若不存在,,删除报错
print(list_1.remove(777))
print("使用remove删除777之后的列表")
print(list_1)
# discard方法
print(list_1.discard(999))
print("使用discard删除999之后的列表")
print(list_1)
# pop方法进行无序删除
# pop方法返回删除的值
print("pop方法进行无序删除")
print(list_1.pop())
print("pop方法进行无序删除结果")
print(list_1)
好了就写那么多了,用法基本都写了,还有其他的问题也欢迎交流探讨。