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