collections是python内建的一个集合模块,提供了许多有用的集合类。 1.counter 计数器counter是一个简单的计数器,例如,统计字符出现的个数: >>> import
collections>>> obj =
collections.counter('applebanana')>>> print(obj)counter({'a': 4, 'n':
2, 'p': 2, 'e': 1, 'l': 1, 'b': 1}) 2.ordereddict 有序字典 使用dict时,key是无序的。在对dict做迭代时,我们无法确定key的顺序。如果要保持key的顺序,可以用ordereddict:>>> od =
collections.ordereddict()>>> od['k2']
='k2'>>> od['k1'] =
'k1'>>> odordereddict([('k2',
'k2'), ('k1', 'k1')])或>>> od =
collections.ordereddict([('k2','v2'),('k1','v1')])>>> odordereddict([('k2',
'v2'), ('k1', 'v1')]) 3.defaultdict 默认字典 默认字典会给字典的值设置一个默认类型import collectionsnum =
[11,22,33,44,55,66,77,88,99] #为my_dic字典的值添加默认list类型my_dic =
collections.defaultdict(list) for i in num: if i > 66: my_dic['k1'].append(i) else: my_dic['k2'].append(i)print(my_dic) 4.namedtuple 可命名元祖 namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。这样一来,我们用namedtuple可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便 >>>person = collections.namedtuple('pp',['name','age'])>>>p = person('apple',2)>>>print(p.name)>>>print(p.age) 5.deque 双向队列 使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈:>>> dli =
collections.deque([1,2,3])>>>
dli.append(4)>>> dlideque([1, 2, 3, 4])>>>
dli.appendleft(5) #appendleft向左插入数据>>> dlideque([5, 1, 2, 3, 4]) 6.queue 单项队列 (queue模块中) import queueq = queue.queue()q.put(123)q.put(456)print(q.qsize())print(q.get())#q.get()会将单项队列里面的数据依次取出来print(q.get())
0
0
相关文章
Python 中因动态索引越界导致的“运行时报错、调试时正常”现象解析
如何安全地从 JSON 配置中读取并解析 Python 日志级别
计算当月已过的交易日数量(不含周末和节假日)
如何安全设计 Python 自定义文件处理类
计算当月已过去的完整工作日数量
python速学教程(入门到精通)
下载
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
相关标签:
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
C++ 设计模式与软件架构
本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。
8
2026.01.30
热门下载
精品课程
相关推荐
/
热门推荐
/
最新课程
最新文章








