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 阅读 88 次 更新于 2025-10-29 18:40:46 我来答关注问题0
  •  深空见闻 gc.collect()无效

    gc.collect()无效的主要原因包括引用计数机制限制、循环引用处理延迟以及对象未完全解除引用。以下是具体分析:1. 引用计数机制的局限性Python采用引用计数作为主要内存管理方式,当对象引用计数归零时立即回收。但在复杂程序中,若对象被其他对象间接引用(如嵌套数据结构),即使调用gc.collect(),引用计数仍...

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

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

  •  文暄生活科普 pyspark DataFrame 常用的函数有哪些

    4. 集合函数distinct():返回去重后的数据。示例:df.distinct(),返回 DataFrame 中去重后的数据。collect():将 DataFrame 的数据收集到驱动程序节点。示例:df.collect(),将 DataFrame 的所有数据收集到驱动程序节点,返回一个列表。union(), intersect(), exceptAll():执行集合操作。示例:df1.un...

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

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

  •  百度网友46d714c collecting numpy,什么意思

    collecting numpy是收集麻木的意思。详细释义 collect英[kəˈlekt]美kəˈlekt]v.聚集,聚积;收集,采集;收藏;领取,接走;募捐,募集;使镇定,使集中思想;赢得,获得;收,收取;推断,推论;和……互撞,和……发生冲突 n.(某些基督教仪式上的)短祷文...

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

Python相关话题

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