前言
Python数据结构常用模块:collections、heapq、operator、itertools
collections常用类型
计数器(Counter)
双向队列(deque)
默认字典(defaultdict)
有序字典(OrderedDict)
可命名元组(namedtuple)
namedtuple
作用类似于c++中的结构体
from collections import namedtuple
student = namedtuple('student','name,age,sex')
s1 = student('tom',20,'male')
print(s1)
#student(name='tom', age=20, sex='male')
defaultdict
defaultdict解决从字典获取元素时key为空的情况,如果不考虑这一点,当我们获取一个不存在的key,会导致系统抛出异常。
当然,我们可以使用下面方法,当key不存在的时候,自动返回默认值。但是仍存在一些问题,
dict.get(key,None)
#等价于
if key in dict:
return dict[key]
else:
return None
deque
deque属于高性能的数据结构之一,常用方法如下:
Counter
Counter作为字典dicit()的一个子类用来进行hashtable计数,将元素进行数量统计,计数后返回一个字典,键值为元素,值为元素个数