概要
Python内置了非常有用的数据结构,比如list, set集合,dictionary,绝大部分情况而言,可以直接使用这些数据结构,但是,通常我们还需要考虑比如搜索,排序,
排列以及筛选等常见的问题,本章目的是讨论常见的数据结构和同数据有关的算法,在collections模块中也包含针对各种数据结构的解决方案
1.1 将序列分解为单独的变量
将一个包含n个元素的元组或者序列,分解为n个单独的变量

问题描述.png

输出结果.png
解决方案
讨论
1.2 从任意长度的可迭代对象中分解元素
需要从某个可迭代对象中分解出N个元素,但是这个可迭代对象的长度可能超过N,会导致分解的值过多 too many values to unpack的异常
解决方案

问题描述.png

输出结果.png
讨论
1.3 保留最后的N个元素
我们希望在迭代或是其他形式的处理过程中对最后几项记录做一个有限的历史记录统计
解决方案

问题描述1.png

问题描述2.png

输出结果.png
讨论
1.4 找到最大或者最小的n个元素
解决方案

问题描述1.png

问题描述2.png

运行结果.png
讨论
1.5 实现优先级队列
想要实现一个队列,能够以给定的优先级来对元素排序,每次pop操作时候都会返回优先级最高的那个元素
解决方案

问题描述.png

运行结果.png
讨论
1.6 在字典中将键映射到多个值上
解决方案
想要一个能将key 映射到多个value的字典,即一键多值字典multidict
讨论
1.7 将序列分解为单独的变量
解决方案
讨论
1.8 将序列分解为单独的变量
解决方案
讨论
1.9 将序列分解为单独的变量
解决方案
讨论
网友评论