python数据结构-如何实现用户的历史记录功能
如何实现用户的历史记录功能
使用collections中的deque
from collections import deque dq = deque([], 5) dq.append(1) dq.append(2) dq.append(3) dq.append(4) dq.append(5) print(dq) #deque([1, 2, 3, 4, 5], maxlen=5) dq.append(6) print(dq) #deque([2, 3, 4, 5, 6], maxlen=5)
分析:如果程序退出,保存在内存中的历史记录将会被情况,应当保存在磁盘中
以方便下次访问程序时从新加载
使用pickle模块将历史记录存储到硬盘中
from collections import deque import pickle dq = deque([], 5) dq.append(1) dq.append(2) dq.append(3) dq.append(4) dq.append(5) print(dq) #deque([1, 2, 3, 4, 5], maxlen=5) dq.append(6) print(dq) #deque([2, 3, 4, 5, 6], maxlen=5) pickle.dump(dq, open('his.pkl', 'wb')) #write res = pickle.load(open('his.pkl', 'rb')) #read res_list = list(res) print(res_list) #[2, 3, 4, 5, 6]
参考资料:python3实用编程技巧进阶