集合
'''集合有天然去重的功能,集合是无序的并且可变'''
集合的增删改查
增
s = {1,2,3,'22','ss',False,(3,4)}
s.add(8)
print(s)
s.update('alex') # 迭代添加
print(s)
删
s = {1,2,3,'22','ss',(3,4)}
s1 = s.pop() #随机删除
print(s) #返回值 返回的被删除的元素
print(s1)
s.clear()
print(s) #清空 set()
s = {1,2,3,'22','ss',(3,4)}
del s #删除整个集合
print(s)
s = {1,2,3,'22','ss',(3,4)}
s.remove() #通过元素指定删除
print(s)
改:
s = {1,2,3,'22','ss',(3,4)}
s.remove(3)
s.add(7)
print(s)
s = {1,2,3,'22','ss',(3,4)}
for i in s:
print(i)
其他操作:
s = {'黑哥'}
s1 = {'虎哥','开哥','alex哥','黑哥','wu哥'}
print(s & s1) # 交集 俩个集合都有的才输出
print(s | s1) # 并集 两个集合 合并到一起
print(s1 - s) # 差集 前面减后边的集合前边集合中有的输出出来 自己总结
print(s ^ s1) # 反交集 自己总结
print(s < s1) # 子集
print(s1 > s) # 超(父)集
dic = {{1,2,3}:1}
a = frozenset((1,2,3))
dic ={a:1}
print(dic)
print(dic)
面试题:
lst = [1,2,3,42,3,45,67,534,2]
print(list(set(lst)))
s = set(lst)
print(list(s))
二次编码
2.二次编码
encode 编码
decode 解码
注意: 用什么编就用什么解
基础类型补充
#利用for 循环删除列表内容
1
st = [1,2,3,4,5]
for i in lst:
lst.clear()
print(lst)
2,
lst = [1,2,3,4,5]
for i in range(len(lst)):
lst.pop(0)
print(lst)
3,
lst = [1,2,3,4,5]
for i in lst:
if type(i) == int:
lst[i-1] = ' '
print(lst)
print(list(set(lst)))
lst = [1,2,3,4,5]
lst1 = []
for i in lst:
lst1.append(i)
for k in lst1:
lst.remove(k)
print(lst)
字典利用for删除字典内容
dic = {'yuan':1,'a',b}
for i in dic:
dic['c'] = 3
print(dic)
for i in dic:
dic.pop(i)
print(dic)
深浅拷贝
深浅拷贝
浅拷贝:
只拷贝第一层元素
深拷贝:
拷贝所有元素,开辟新的空间储存,两者没有任何关系