collections:python的超级好用模块

Python中的collections是一个标准库模块,它提供了一些有用的容器类型,这些容器类型可以用于替代Python内置类型,以便更方便、更高效地处理数据。

collections中包含了许多容器类型,其中最常用的有:

  1. Counter:用于计数,它可以统计一个可迭代对象中每个元素出现的次数。
  2. defaultdict:在字典中使用默认值,当访问字典中不存在的键时,返回指定的默认值而不是抛出异常。
  3. deque:双端队列,可以快速在两端添加或删除元素。
  4. namedtuple:命名元组,可以用类似对象属性的方式访问元组中的元素。
  5. OrderedDict:有序字典,可以按照元素添加的顺序来访问字典中的元素。
  6. ChainMap:多个字典的合并,可以把多个字典合并为一个,并可以方便地访问这些字典中的元素。

使用collections模块中的容器类型可以使代码更加简洁、清晰,同时也能提高代码的执行效率。

语法格式

collections.defaultdict([default_factory[, …]])

返回对象

'''
    默认字典,是字典的一个子类,继承有字典的方法和属性,
    默认字典在进行定义初始化的时候可以指定字典值得默认类型: 
'''
from collections import defaultdict
dic = defaultdict(dict)
dic['k1'].update({'k2':'aaa'})
print(dic)

该函数返回一个类似字典的对象。defaultdict是Python内建字典类(dict)的一个子类,它重写了方法_missing_(key),增加了一个可写的实例变量default_factory,实例变量default_factory被missing()方法使用,如果该变量存在,则用以初始化构造器,如果没有,则为None。

Counter 和 deque

# 语法格式
# collections.defaultdict([default_factory[, …]])
# 返回对象
# 该函数返回一个类似字典的对象。
# defaultdict是Python内建字典类(dict)的一个子类,
'''
它重写了方法_missing_(key),增加了一个可写的实例变量default_factory,
实例变量default_factory被missing()方法使用,如果该变量存在,
则用以初始化构造器,如果没有,则为None。
'''
'''
    计数器(Counter)
    
    双向队列(deque)
    
    默认字典(defaultdict)
    
    有序字典(OrderedDict)
    
    可命名元组(namedtuple)
'''
from collections import Counter
#1. Counter
'''
    Counter 作为字典(dict)的一个子类用来进行hashtable计数,
    将元素进行数量统计、计数后返回一个字典,键值为元素:值为元素个数
'''
s = 'abcbcaccbbad'
l = ['a','b','c','c','a','b','b']
d = {'2': 3, '3': 2, '17': 2}
# Counter 获取各元素的个数,返回字典
print(Counter(s))  
print(Counter(l))  
print(Counter(d)) 
# Counter({'b': 4, 'c': 4, 'a': 3, 'd': 1})
# Counter({'b': 3, 'a': 2, 'c': 2})
# Counter({'2': 3, '3': 2, '17': 2})
 
 
#2.deque
'''
    deque 包含在文件_collections.py中,属于高性能的数据结构
    (High performance data structures)之一.可以从两端添加和删除元素,
    常用的结构是它的简化版。
'''
str1 = 'abc123cd'
dq = deque(str1)
print(dq)        # deque(['a', 'b', 'c', '1', '2', '3', 'c', 'd'])
 
 
 
 
 

你可能感兴趣的:(python提高,python,前端,javascript)