作业: 更新数据库内容
思路: 交集 更新 原集合 交集 新集合 = 更新集合
差集 删除 原集合 差集 新集合 = 删除集合
添加 新集合 差集 原集合 = 添加集合
列表没有 交差集 要转成SET
old= set(old.keys())
new= set(new.keys())
delete_set= old.diferrence(old)
increase_set=new.deferrence(new)
update_set=old.intersection(new)
collection 系列
counter 是对字典的补充, 统计值出现次数,返回一个字典
most_common (n ) 返回频度最高的前n个值
elements() 原生集合元素
update(新数据) 在原数据基础上增加新的统计范围
subtract(新数据) 对新数据 做减法 处理
OrdereDict 有序字典
move_to_end () 把某元素移动到最后 或者最前(false)
pop(self,k, ) 按K值删除并返回
popitem(self) 按倒序顺序 删除并返回 ‘栈’模式
setdefult(self,k,d=None) 设置默认值
update()
defultdict 默认字典 核心是把Velue变成list格式, 可以使用append直接加入
dIc=collection.defultdict(list)
dic[‘k1‘].append(11)
nametuple 可命名元祖
把元祖数据 建立名称,可以通过名称进行访问; 但是没提供类, 需要自己创建类才能使用
import collection
mytupleclass=collection.namedtuple(‘mytupleclass‘ ,[‘x‘,‘y‘,‘z‘,]) # 创建类的方式
obj=mytupleclass(11,22,33) #类实例化
内部建立对应关系的字典
双向队列 deque()
append 加单个元素
appendleft
count
extend([] )
extendleft([] )
index()
insert(self,index,v)
pop()
popleft()
remove
reverse 反转
rotate 尾部移到队头 , 即 右拿数据到左侧。
单向队列 放在queue内部
import queue
q=queue.Queue()
阻塞特性, 有内容里面拿, 永远在线等待,多线程可用
put
get
qsize