python的collections

是Python内建的一个集合模块,提供了许多有用的集合类。 【今天的这篇一点都不走心】

namedtuple()生成可以使用名字来访问元素内容的tuple子类

from collections import namedtuple
websites = [
    ('Sohu', 'http://www.google.com/', u'张朝阳'),
    ('Sina', 'http://www.sina.com.cn/', u'王志东'),
    ('163', 'http://www.163.com/', u'丁磊')
]
Website = namedtuple('Website', ['name', 'url', 'founder'])
for website in websites:
    website = Website._make(website)
    print website
# Result:
Website(name='Sohu', url='http://www.google.com/', founder=u'\u5f20\u671d\u9633')
Website(name='Sina', url='http://www.sina.com.cn/', founder=u'\u738b\u5fd7\u4e1c')
Website(name='163', url='http://www.163.com/', founder=u'\u4e01\u78ca')

duque()实现了从队列 头部快速增加和取出对象: .popleft(), .appendleft() 。

使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈:

deque除了实现list的append()pop()外,还支持appendleft()popleft(),这样就可以非常高效地往头部添加或删除元素。

Counter() 返回字典,自动计算出字符串中字符出现次数

orderedDict()使字典有序

defaultdict()调用字典中不存在的key,不会抛出异常

猜你喜欢

转载自blog.csdn.net/yushu4772/article/details/82953883