#集合
set1 = set(range(10)) #创建set类,set类可以将列表或元组转换为集合
print(type(set1))
print(set1)
set2 = set(‘hello’) #将字符串中的每一个字符作为元素添加进集合,因为字符串可以看作是字符的列表。会去除重复的字符,且顺序会打乱
print(set2)
set3 = set([‘Bill’,‘John’,‘Mike’,‘John’])
print(set3)
a=set((1,2,3)) #利用元组建立一个集合
b=set([3,5,1,7]) #利用列表建立一个集合
print(a.union(b)) #合并两个集合
print(a|b) #求集合的并集
print(a.intersection(b)) #求集合的交集
print(a&b) #利用&求集合的交集
c=set([2,3])
print(c.issubset(a)) #判断集合c是否为a的子集
print(a.issuperset©) #判断集合a是否为c的超集
print(a == b) #判断两个集合是否相等
print(a.difference(b)) #使用different方法计算a,b的差
print(a - b) #使用-计算a,b的差
print(a.symmetric_difference(b)) #计算a,b的对称差
print((a-b)|(b-a)) #a,b的对称差相当于a-b与b-a的合集
x = a.copy() #复制a
print(x is a) #判断x与a是否相同
x.add(30) #向集合中添加一个新的元素
print(x)
print(a)
print(1 in a) #判断1是否属于集合a
a= set([1,2])
b = set([10,20])
a.add(4)
print(a)
a.add(frozenset(b)) #只有将集合b变成只读的集合,才能将其添加到集合a中
print(a)
d = {‘Bill’:20,‘Mike’:40} #定义一个字典
d[frozenset(b)] = 60
print(d)
t=(1,2,3)
a.add(t) #列表和字典不能作为集合的元素,元组可以作为集合的元素
print(a)
#堆是一种数据结构,是优先队列的一种