1. 理解算法高效性
2. 与基础的数据集合List、tuple等形成对比
### 1.3.1. deque
**deque** 和list的用法比较类似,它是队列与栈的实现,可以对序列数据进行两端的操作。deque支持在O(1)的时间复杂度上对序列进行两端的append或者pop。list也可以实现同样的操作,但是它的复杂度是O(N)
### 1.3.2. counter
**核心:对序列集合元素进行计数,元素被设定为字典的key,元素出现的次数被设定为字典的value**
```
from collections import Counter
a = list('absgctsgabfxtdrafabstxrsg')
c = Counter(a)
```
```
~~~
Counter({'a': 4,
'b': 3,
's': 4,
'g': 3,
'c': 1,
't': 3,
'f': 2,
'x': 2,
'd': 1,
'r': 2})
~~~
```
![](https://img.kancloud.cn/3a/72/3a72006bddd206dead453329743c4915_299x263.png)