set集合是python的一种基本数据类型,其特色为:python
1.元素不重复(能够利用这条性质除去重复元素)spa
2.在集合中无序对象
3.元素可hash(int,str,bool,tuple)blog
set集合的表示方法为:索引
set ={}rem
set.add() #把被添加数据添加到集合的开头hash
set.update() #把元素迭代无序添加到集合中io
pop()for循环
remove()class
clear()
del set
这里注意pop()不能指定变量不然会报错
因为set集合中的元素没有索引,所以无法定位set中的元素,所以set集合中的修改只能先删除 再添加
set是一个可迭代对象,能够使用for循环查询
for el in s:
print(el)
s1 = {"刘能", "赵四", "皮长山"}
s2 = {"刘科长", "冯乡长", "皮长山"}
print(s1 & s2) # {"皮长山"}
或者
print(s1.intersection(s2)) # {"皮长山"}
print(s1 | s2) # {"刘能", "赵四", "皮长山","刘科长", "冯乡长"}
或者
print(s1.union(s2)) # {"刘能", "赵四", "皮长山","刘科长", "冯乡长"}
#将被差集合中存在于差集合的元素删除,即s1删除s1与s2的交集
print(s1 - s2) # {'赵四', '刘能'}
或者
print(s1.difference(s2)) # {'赵四', '刘能'}
# 删除两个集合的交集而后s1与s2并集
print(s1 ^ s2) # {'冯乡长', '刘能', '刘科长', '赵四'}
或者
print(s1.symmetric_difference(s2)) # {'冯乡长', '刘能', '刘科长', '赵四'}
#判断集合s1是不是集合s2的子集
s1 = {"刘能", "赵四"}
s2 = {"刘能", "赵四", "皮长山"}
print(s1 < s2) # True
或者
print(s1.issubset(s2)) # True
#判断s1是不是s2的超集(是否包含s2)
print(s1 > s2) #False
或者
print(s1.issuperset(s2)) #False
s = frozenset(["赵本山", "刘能", "皮长山", "长跪"])
dic = {s:'123'} # 能够正常使用了
print(dic) #{ frozenset(["赵本山", "刘能", "皮长山", "长跪"]) : '123'}