深度之眼(十七)——Python标准库(下)

简介: 深度之眼(十七)——Python标准库(下)

3.3 deque——双向队列


列表访问数据非常快速

插入和删除操作非常慢一通过移动元素位置来实现

特别是insert(0, V)和pop(0),在列表开始进行的插入和删除操作


双向队列可以方便的在队列两边高效、快速的增加和删除元素

0a2653c851af460fa595bd959398a8f1.png


四、itertools库——迭代器


4.1 排列组合


(1) product——笛卡尔积


0a2653c851af460fa595bd959398a8f1.png


(2) permutations——排列


2d65d23f6d4748949b924e4057485923.png


(3) combinations——组合


2e9b90b2ca334476abebe75bafe6eeaa.png


(4) combinations_ with_ replacement——元素可重复组合


4cebaac233b3433da32a72337a77fc60.png


4.2 拉链


(1) zip——短拉链


0a2653c851af460fa595bd959398a8f1.png

长度不一时,执行到最短的对象处,就停止

2d65d23f6d4748949b924e4057485923.png


(2) zip_ longest——长拉链

长度不- -时,执行到最长的对象处,就停止,缺省元素用None或指定字符替代


0a2653c851af460fa595bd959398a8f1.png


4.3 无穷


(1) count(start=0, step=1)——计数


创建一个迭代器,它从start.值开始,返回均匀间隔的值


0a2653c851af460fa595bd959398a8f1.png


(2) cyclel(terable)——循环


创建-一个迭代器,返回iterable 中所有元素,无限重复


2d65d23f6d4748949b924e4057485923.png


(3) repeat(object [ timesI])——重复


创建一个选代器,不断重复object。除非设定参数times ,否则将无限重复


2e9b90b2ca334476abebe75bafe6eeaa.png


4.4 锁链、枚举、分组等


(1) chain(iterables)——锁链


把一组迭代对象申联起来,形成一个更大的迭代器

0a2653c851af460fa595bd959398a8f1.png


(2) enumerate(iterable, start=0)——枚举 (Python内置)


产出由两个元素组成的元组,结构是(index,

item) , 其中index从start开始,item从iterable中取

2d65d23f6d4748949b924e4057485923.png


(3) groupbyliterable, key=None)——分组


创建-一个迭代器,按照key指定的方式, 返回iterable 中连续的键和组

一般来说,要预先对数据进行排序

key,为None默认把连续重复元素分组


2e9b90b2ca334476abebe75bafe6eeaa.png

4cebaac233b3433da32a72337a77fc60.png6de278e6d6694ce5bb08e7e842b7e74b.png


其余的,可以参考官方文档


总结


0a2653c851af460fa595bd959398a8f1.png2d65d23f6d4748949b924e4057485923.png2e9b90b2ca334476abebe75bafe6eeaa.png4cebaac233b3433da32a72337a77fc60.png


相关文章
|
7天前
|
Python
手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
20 1
|
7天前
|
安全 程序员 API
几个被淘汰的Python库,请不要再用!
几个被淘汰的Python库,请不要再用!
18 0
|
3天前
|
存储 JSON API
Pydantic:目前最流行的Python数据验证库
在处理来自系统外部的数据,如API、终端用户输入或其他来源时,我们必须牢记开发中的一条基本原则:“永远不要相信用户的输入”。 因此,我们必须对这些数据进行严格的检查和验证,确保它们被适当地格式化和标准化。这样做的目的是为了确保这些数据符合我们的程序所需的输入规范,从而保障项目能够正确且高效地运行。
|
4天前
|
存储 缓存 索引
Python中的NumPy库详解
Python中的NumPy库详解
|
6天前
|
XML 自然语言处理 关系型数据库
CasADi - 最优控制开源 Python/MATLAB 库4
CasADi - 最优控制开源 Python/MATLAB 库
18 4
|
6天前
|
Linux API C++
CasADi - 最优控制开源 Python/MATLAB 库3
CasADi - 最优控制开源 Python/MATLAB 库
21 4
|
6天前
|
算法 数据可视化 机器人
Pinocchio - 开源多刚体动力学 C++、Python库
Pinocchio - 开源多刚体动力学 C++、Python库
10 2
|
6天前
|
存储 网络协议 Python
Python如何用PyModbus库进行Modbus TCP通信
使用python解决工业通信问题是一个非常好的选择,python具有丰富的生态,可以轻松解决工业通信的各种问题。 本篇主要介绍使用pymodbus库进行modbus tcp仿真,实现pc端读取plc或工业设备modbus变量。
|
6天前
|
自然语言处理 算法 API
CasADi - 最优控制开源 Python/MATLAB 库2
CasADi - 最优控制开源 Python/MATLAB 库
11 0
|
6天前
|
存储 API C++
CasADi - 最优控制开源 Python/MATLAB 库1
CasADi - 最优控制开源 Python/MATLAB 库
12 0