集合

集合的基本操作和常规函数

 1 # 集合定义
 2 varset = {123,'abc','love',True,(1,2,3),False,0,3.1415926,123,1}
 3 # 1.无序
 4 # 2.False在集合中表示0,所以False和0只能存在一个
 5 # 3.元素的值不能重复
 6 print(varset)
 7 
 8 # 向集合中添加元素
 9 varset.add('def')
10 print(varset)
11 
12 # 向集合中删除元素.
13 
14 # varset.pop() #随机删并返回删除的元素
15 
16 
17 
18 # varset.remove('abc') #指定删,没有时报错
19 # print(varset)
20 # varset.discard() #指定删,没有时不报错
21 # varset.discard(123)
22 # print(varset)
23 
24 # update(*args) 更新集合 *args为容器
25 # varset.update([1,2,3,4,5,6])
26 # print(varset)
27 
28 # copy() 浅拷贝 当前集合中的浅拷贝并不存在集合中的元素深拷贝的问题
29 '''
30     当前集合中的浅拷贝并不存在集合中的元素深拷贝的问题
31         因为集合中的元素都是不可以被更改的(包括元组和冰冻集合)
32 '''
33 # res = varset.copy()
34 # print(res)
35 #
36 # # 冰冻集合的定义
37 # v = frozenset((1,2,3))
38 # print(v)
39 #

 

集合运算

# 集合运算

'''
    集合运算
        交集  &
            set.intersection(set1)  返回新的集合
            set.intersection_update(set1) 无返回值,重新赋值给调用的集合
        并集  |
            union() 返回新的集合
            update() 无返回值,重新赋值给调用的集合
        差集  -
            difference() 返回新的集合
            vars1.difference_update() 无返回值,重新赋值给调用的集合
        对称差集 ^     --(掉两集合中重复的部分)
            symmetric_difference()  返回新的集合
            symmetric_difference_update()  无返回值,重新赋值给调用的集合
'''
vars1 = {1,2,3,4,5,6}
vars2 = {5,6,7,8,9}
# # 交集
# res = vars1 & vars2
# print(res)
#
# # 并集
# res = vars1 | vars2
# print(res)
#
# # 差集
# res = vars1 - vars2
# print(res)
#
# # 对称差集
# res = vars1 ^ vars2
# print(res)

# 交集运算函数
# res = vars1.intersection(vars2)  #返回交集
# vars1.intersection_update(vars2)
# print(vars1)

# 检测超集 与子集
vars1 = {1,2,3}
vars2 = {4,5}

res = vars1.issuperset(vars2)
print(res)
res = vars2.issubset(vars1)
print(res)

# 检测两个集合是否不相交
res = vars1.isdisjoint(vars2)
print(res)

 

posted @ 2020-06-12 21:25  kitten&&mm  阅读(110)  评论(0)    收藏  举报