集合set,容器型的数据类型,它要求里面的元素是不可变的数据,但它本身是可变的数据类型,集合是无序的的.{}
- 集合的创建
- set1=set({1,2,'barue','False'})
- set1={1,3,'小刚',4,False,'人生'}
- print(set1)
什么是集合?
set {1,2,3}
s = {1,2,3,"123",False,(1,2,3,4)}
集合就是一个没有值的字典,遵循:唯一,无序,元素要求可哈希(不可变)
print(s)
集合是无序的
集合是可变的
集合怎么用?
增:
s.update("3456") # 迭代添加
print(s)
s.add("怼怼")
print(s)
删:
s = {1,2,3,"123",False,(1,2,3,4)}
print(s)
s.pop() #随机删除
s.remove(3) # 通过元素删除
s.clear() # 清空
del s #删除整个集合
print(s)
改:
删了,在加
查:
for
天然去重 -- 唯一
其他操作:
s1 = {1,2,3,4,5,6,7}
s2 = {3,4,5,6}
print(s1 - s2) #差集
print(s1 | s2) #并集 (合集)
print(s1 & s2) #交集
print(s1 ^ s2) #对称差集 -- 反交集
print(s1 > s2) # 超集 -- 父集
print(s1 < s2) # 子集
冻结集合(可变 转换成 不可变) -- 更不常用
f_s = frozenset({1,2,3,4,5})
# dic = {f_s:"1"}
# print(dic)
1.集合的去重
集合在哪用?
1.去重
li = [1,2,3,4,5,2,2,2,33,3,3,2,2,1,]
print(list(set(li)))]
面试题:
li = [1,2,3,4,2,1,3] #一行代码去重
print(list(set(li)))