集合

集合是装 唯一值 的袋子。如果试图添加一个集合中已有的
值,将不会发生任何事情。将不会引发一个错误;只是一条空
操作。

集合的定义以及使用:
a_set={1,2,3,4}
print("答应集合类型:")
print(type(a_set))
b_set={3,4,5,6}
print("输出a集合元素:")
print(a_set)
print("输出b集合元素:")
print(b_set)
print("a,b集合之间的交集:")
result=b_set.intersection(a_set)
print(result)
print("使用列表方式建集合:")
a_list=['a','2','d','ef']
a1_set=set(a_list)
print(a1_set)
print("打印转换后的类型:")
print(type(a1_set))
print('输出集合的长度:')
print(len(a1_set))
print(dir(a1_set))
# ['__and__', '__class__', '__cmp__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
# '__gt__', '__hash__', '__iand__', '__init__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__',
# '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__',
# '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__',
# 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection',
# 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop',
# 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
#add 函数 使用完该函数本身集合数据会发生改变
a1_set.add("abcd")
print(a1_set)
print(len(a1_set))
a1_set.add("abcd") 再增加一条一模一样的记录,集合集并不会发生改变。
print(a1_set)

discard() 接受一个单值作为参数,并从集合中删除该值。
如果针对一个集合中不存在的值调用 discard() 方法,它不
进行任何操作。不产生错误;只是一条空指令。
remove() 方法也接受一个单值作为参数,也从集合中将其删
除。
区别在这里:如果该值不在集合中, remove() 方法引发一个
KeyError 例外。
a1_set.discard(3)
print(a1_set)
a1_set.discard(3) 不会报错
print(a1_set)
#a1_set.remove(3) 直接报错

#无序去除集合里面一个数值
a1_set.pop()
print(a1_set)
#清空集合
#a1_set.clear()
 查看元素是否在集合里面:
if 3 in a1_set:
print("3 is in a1_set")
else:
print("3 is not in a1_set")

if "abcd" in a1_set:
print("abcd is in a1_set")
else:
print("abcd is not in a1_set")



a={1,2,3,4,5}
b={3,4,5,6,7}
print(a.union(b))
#union 返回一个新集合 原集合不变
print(a.difference(b))
#difference 函数返回所有有在a集合中出现在不在b集合中出现的元素
print(a.intersection(b))
#a.intersection返回所有有在a,b 集合同时出现的元素
print(a.symmetric_difference(b))
#symmetric_difference() 方法返回一个新集合,其中装着所有 只在其中一个 集合中出现的元素。
print(a.union(b)==b.union(a))
print(a.intersection(b)==b.intersection(a))
print(a.symmetric_difference(b)==b.symmetric_difference(a))
a={1,2,3}
b={1,2,3,4}
print(a.issubset(b))
#判断a集合是否是b集合的子集
print(b.issuperset(a))
#判断b集合是否是a集合的超集

a.add(5)
#a集合加了一个元素后
print(a.issubset(b))
print(b.issuperset(a))
 
原文地址:https://www.cnblogs.com/chenxiaoyong/p/6138857.html