Python每日小结(二)
2017-10-23 22:18
330 查看
1.collections中的deque
collections是Python内建的一个集合模块,提供了许多有用的集合类。这里我们主要关注deque。在使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。
deque是为了实现高效地插入和删除操作的双向列表,适合用于队列和栈。示例:
此外,我们对于collections中的namedtuple也很感兴趣。我们知道tuple可以表示不变集合,但是,很难看出某一个tuple的具体含义,而定义一个class又小题大作了,这时候,namedtuple就派上了用场,比如说,一个点的二维坐标:
题外话:我们将这两者组合在实现强化学习中的DQN挺有用的:
其中Transition表示一个Markov决策过程中的样本,(s,a,r,s')。
2.Python random.sample
因为这个专栏是用到什么写什么,所以这里主要写random.sample。random.sample(sequence,k),从指定序列中随机获取指定个数的样本,并组合成一个序列。sample函数不会修改原有序列。
示例如下:
3.自定义len()函数
我们知道,对于list对象a而言,可以直接用len(a)获取a的长度,那对于我们自定义类型而言,如何定义同样形式的函数呢?定义__len__()函数即可。
相关文章推荐
- Python每日小结(七)
- Python每日小结(一)
- Python每日小结(三)
- Python每日小结(九)
- Python每日小结(四)
- Python每日小结(十)
- Python每日小结(十一)
- Python每日小结(十三)
- python 文件和路径操作函数小结
- Python 每日练习 03 把将随机生成的200 个激活码保存在mysql中
- Python中print和字符格式化的小结(Python2.7.5)
- Python 错误和异常小结
- python学习小结1
- Python 类小结
- 使用c语言调用python小结
- Python中字典和集合学习小结
- Python 错误和异常小结
- python传递参数方式小结
- [python]Django集成Paypal支付小结
- python基础小结