Python中的collections模块详解

其他关于Python的总结文章请访问: https://www.jianshu.com/nb/47435944 collections 模块给出了python中一些功能更加强大的数据结构、集合类 顾名思义, namedtuple 就是有了名字的 tuple ,声明一个 namedtuple 类的时候可以传入两个参数,第一个是这个 tuple 的名字,第二个是一个 str 的 list ...
Python中的collections模块详解
其他关于Python的总结文章请访问: https://www.jianshu.com/nb/47435944
collections 模块给出了python中一些功能更加强大的数据结构、集合类
顾名思义, namedtuple 就是有了名字的 tuple ,声明一个 namedtuple 类的时候可以传入两个参数,第一个是这个 tuple 的名字,第二个是一个 str 的 list ,依次说明其中每一个元素的名称:
运行结果:
再比如,使用一个 namedtuple 来存储一个 马尔可夫决策过程 (Markov Decision Process,MDP)模型:
deque 是一个双向列表,非常适用于队列和栈,因为普通的 list 是一个线性结构,使用索引访问元素时非常快,但是对于插入和删除就比较慢,所以 deque 可以提高插入和删除的效率,可以使用 list(a_deque) 将 deque 转换成 list 。
常用的方法:
一个例子:
运行结果:
defaultdict 是给不存在的 key 分配一个默认值的字典,和普通的 dict 相比,如果遇到 key 不存在的情况,不会抛出 KeyError ,而是返回默认值。其他的行为和 dict 一模一样:
运行结果为:
正如其名字所说, OrderedDict 是一个有序的字典,普通的 dict 中的 key 是没有顺序,即我们遍历一个字典的时候是不知道它所遍历的顺序的,单独 OrderedDict 为 key 进行了排序,顺序就是拆入键的顺序,后插入的排在后边,这样在遍历的时候就有了顺序:
运行结果为:
ChainMap 是一个将多个 dict 按照循序串起来的数据结构,在查找字典中的某一个键所对应的值的时候,先从 ChainMap 中的第一个字典查起,如果该字典有该 key ,就返回对应的值,没有就依次往后查找后边的 dict 。
获得的结果为:
Counter 是一个计数器,它是 dict 的一个子类,可以根据键来区别记录多个不同的计数,相当于一个计数器集合,还可以通过 update 函数一次性更新多个计数器:
得到的结果:
2022-06-17
mengvlog 阅读 9 次 更新于 2025-07-19 23:27:48 我来答关注问题0
  •  文暄生活科普 python gc简析

    此时,Python的垃圾回收机制可以介入,使用gc.collect()来释放循环引用的对象。Python的垃圾回收通过双向链表维护所有容器对象。在回收过程中,首先记录每个容器对象的引用计数,然后遍历所有容器对象找到它们引用的对象,递减被引用对象的引用计数。无法被释放的对象通过递归方式标记。最后,剩余的对象为不可达对象...

  •  翡希信息咨询 Python: 垃圾回收机制

    手动内存管理:del命令:通过del命令可以显式删除变量,降低对象的引用计数,但不一定立即触发内存回收。gc.collect函数:允许手动触发垃圾回收过程,查找和清除循环引用对象。内存分析工具:objgraph库:提供可视化对象图和内存使用情况的工具,帮助开发者深入分析内存使用情况,发现潜在的内存泄漏问题。总结:Pyth...

  •  阿暄生活 多条件筛选用什么函数

    多条件筛选在不同编程语言中常用的函数或方法如下:1. Python:使用 filter() 函数结合 lambda 表达式,或者更常用的是列表推导式。示例:通过列表推导式实现多条件筛选,filtered_data = [x for x in data if x % 2 == 0 and x > 5]。或者使用 filter() 函数,filtered_data = list(filter...

  •  翡希信息咨询 python中的memoryerror的问题?

    Python 中的 MemoryError 问题可以通过以下几种方法解决:手动触发垃圾回收:在循环末尾添加 gc.collect 来手动触发垃圾回收,前提是你已经导入了 gc 模块。这有助于释放循环过程中未自动释放的内存。及时删除不再需要的变量:删除不再使用的变量可以释放内存空间,尤其是在处理大数据集时。逐行处理数据:采...

  •  文暄生活科普 数据治理 | 不丢数据的秘籍:了解Python的内存管理机制

    当然,Python也支持主动进行垃圾回收,语法如下:为了你的数据安全,通常不建议主动使用gc.collect()来清理内存,因为这种命令是危险的,如果使用不当,可能会导致内存中的数据丢失。三、结束语 浅拷贝与深拷贝的概念与操作是每一个“数据人”必须掌握的技能,也几乎是每一位同学必踩的坑,小编希望你在踩...

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部