0
点赞
收藏
分享

微信扫一扫

collections.defaultdict()的使用以及Counter deque 拓展

语法格式

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

返回对象

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

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

拓展部分

# 语法格式
# 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'])





举报

相关推荐

0 条评论