3.3 deque——双向队列
列表访问数据非常快速
插入和删除操作非常慢一通过移动元素位置来实现
特别是insert(0, V)和pop(0),在列表开始进行的插入和删除操作
双向队列可以方便的在队列两边高效、快速的增加和删除元素
四、itertools库——迭代器
4.1 排列组合
(1) product——笛卡尔积
(2) permutations——排列
(3) combinations——组合
(4) combinations_ with_ replacement——元素可重复组合
4.2 拉链
(1) zip——短拉链
长度不一时,执行到最短的对象处,就停止
(2) zip_ longest——长拉链
长度不- -时,执行到最长的对象处,就停止,缺省元素用None或指定字符替代
4.3 无穷
(1) count(start=0, step=1)——计数
创建一个迭代器,它从start.值开始,返回均匀间隔的值
(2) cyclel(terable)——循环
创建-一个迭代器,返回iterable 中所有元素,无限重复
(3) repeat(object [ timesI])——重复
创建一个选代器,不断重复object。除非设定参数times ,否则将无限重复
4.4 锁链、枚举、分组等
(1) chain(iterables)——锁链
把一组迭代对象申联起来,形成一个更大的迭代器
(2) enumerate(iterable, start=0)——枚举 (Python内置)
产出由两个元素组成的元组,结构是(index,
item) , 其中index从start开始,item从iterable中取
(3) groupbyliterable, key=None)——分组
创建-一个迭代器,按照key指定的方式, 返回iterable 中连续的键和组
一般来说,要预先对数据进行排序
key,为None默认把连续重复元素分组
其余的,可以参考官方文档
总结