python3集合练习(set)

#集合是由不同元素组成;无序;集合中的元素必须是不可变类型;
#s = {} 或者 s = set() 创建集合
#update()扩展集合。返回值为None
g1 = {'wcj','good','lucky','sunny'}
g2 = {'cloudy','love','wcj','miss'}
g = g1.update(g2)
print(g) #返回值为None
print(g1) #扩展集合结果是{'miss', 'cloudy', 'sunny', 'love', 'wcj', 'good', 'lucky'}


#copy()拷贝集合,并返回一个新的集合
g1 = {'wcj','good','lucky','中国',21}
g = g1.copy()
print(g) #返回新的集合
print(g1)

#pop()随机删除集合中的一个元素,并返回这个被删除的元素。
g1 = {'wcj','good','lucky','中国',21}
g = g1.pop()
print(g) #返回删除的元素
print(g1)

#clear()清空集合,返回值为None。
g1 = {'wcj','good','lucky','中国',21}
g = g1.clear()
print(g) #返回值为None
print(g1) #清空集合为原集合

#remove()移除指定的元素,返回值为None。被移除的元素若不存在则会抛出异常。
g1 = {'wcj','good','lucky','中国',21}
g = g1.remove(21)
r = g1.remove(33)
print(g) #返回值为None
print(g1) #结果是{'lucky', 'good', 'wcj', '中国'}
print(r) #抛出异常

#add()给集合添加一个元素,返回值为None。
g1 = {'wcj','good','lucky','中国',21}
g = g1.add('IEEE')
print(g) #返回值为None
print(g1) #结果是{'good', '中国', 'wcj', 21, 'lucky', 'IEEE'}

#difference()差集运算,原集合不更新。第一个集合与第二个集合进行差集运算后,那么第一个集合中剩下的元素就是返回值。
g1 = {'wcj','good','lucky','sunny'}
g2 = {'cloudy','love','wcj','miss'}
g = g1.difference(g2)
print(g) #结果是{'sunny', 'good', 'lucky'}
print(g1) #结果是{'sunny', 'wcj', 'good', 'lucky'}

#difference_update()差集运算,原集合会更新,返回值为None。
g1 = {'wcj','good','lucky','sunny'}
g2 = {'cloudy','love','wcj','miss'}
g = g1.difference_update(g2)
print(g) #返回值为None
print(g1) #结果是{'good', 'lucky', 'sunny'}

#discard()删除集合中指定的元素,返回值为None。若删除一个集合中的不存在的元素也不会抛出异常
g1 = {'wcj','good','lucky','sunny'}
#g = g1.discard('wcj')
r = g1.discard('wrong')
#print(g) #返回值为None
print(g1) #结果是{'sunny', 'lucky', 'good'}
print(r) #返回值为None

#intersection()交集运算,原集合不更新。第一个集合与第二个集合进行交集运算后,那么两个集合中相同的元素就是返回值
g1 = {'wcj','good','lucky','sunny'}
g2 = {'cloudy','love','wcj','miss'}
g = g1.intersection(g2)
print(g) #结果是{'wcj'}
print(g1) #结果是{'sunny', 'good', 'lucky', 'wcj'}

#intersection_update()交集运算,原集合会更新,返回值为None。
g1 = {'wcj','good','lucky','sunny'}
g2 = {'cloudy','love','wcj','miss'}
g = g1.intersection_update(g2)
print(g) #返回值为None
print(g1) #结果是{'wcj'}

#isdisjoint()判断是否有交集,并返回一个布尔值。有交集则返回False,没有交集则返回True。
g1 = {'wcj','good','lucky','sunny'}
g2 = {'sunny','love','wcj','miss'}
g3 = {11,22,33,}
g = g1.isdisjoint(g2)
r = g1.isdisjoint(g3)
print(g) #返回值为False
print(r) #返回值为True

#issubset()判断一个集合是否为另一个集合的子集,返回布尔值。如果是则返回True,否则返回False,若两个集合相等时,则返回True。表示这两个集合互为子集。
g1 = {'wcj','good','lucky','sunny'}
g2 = {'sunny','love','wcj','miss'}
g3 = {'wcj','sunny'}
g4 = {'wcj','good','lucky','sunny'}
g = g1.issubset(g2) #g1不是g2的子集
r = g3.issubset(g1) #g3是g1的子集
s = g1.issubset(g4) #g1是g4的子集
print(g) #返回值为False
print(r) #返回值为True
print(s) #返回值为True

#issuperset()判断一个集合是否为另一个集合的超集(父集),返回一个布尔值。如果是返回True,否则返回False
g1 = {'wcj','good','lucky','sunny'}
g2 = {'sunny','love','wcj','miss'}
g3 = {'wcj','sunny'}
g4 = {'wcj','good','lucky','sunny'}
g = g1.issuperset(g2) #g1不是g2的父集
r = g1.issuperset(g3) #g1是g3的父集
s = g1.issuperset(g4) #g1是g4的父集
print(g) #返回值为False
print(r) #返回值为True
print(s) #返回值为True

#symmetric_difference()对称差集运算,原集合不更新。第一个集合与第二个集合进行对称差集运算后,那么两个集合中不同的元素就是返回值。
g1 = {'wcj','good','lucky','sunny',11}
g2 = {'sunny','love','wcj','miss',22}
g = g1.symmetric_difference(g2) #g1、g2对称差集运算
print(g) #结果是{'good', 11, 'lucky', 'love', 22, 'miss'}
print(g1) #结果是{'sunny', 'lucky', 11, 'wcj', 'good'}

#symmetric_difference_update()对称差集运算,原集合更新。返回值为None。
g1 = {'wcj','good','lucky','sunny',11}
g2 = {'sunny','love','wcj','miss',22}
g = g1.symmetric_difference_update(g2)
print(g) #返回值为None
print(g1) #结果是{'good', 11, 'lucky', 'miss', 22, 'love'}

#union()并集运算,原集合不更新。第一个集合与第二个集合进行并集运算后,两个集合中的相同元素会被合并,然后把这两个元素中所有的元素组成一个新的集合就是它的返回值
g1 = {'wcj','good','lucky','sunny'}
g2 = {'sunny','love','wcj','miss'}
g = g1.union(g2)
print(g) #结果是{'sunny', 'love', 'good', 'miss', 'lucky', 'wcj'}
print(g1) #结果是{'good', 'lucky', 'wcj', 'sunny'}

猜你喜欢

转载自www.cnblogs.com/jkl1221/p/10742918.html