Python 标准库中提供了很多扩展功能,大幅度提高了开发效率。主要介绍 collections 中 OrderedDict 类、defaultdict 类和 Counter类。
1 OrderedDict 类
Python 内置字典 dict 是无序的,如果需要一个可以记住元素插入顺序的字典,则可以使用 collections.OrderedDict。
import collections
x = collections.OrderedDict()  # 有序字典
x['b'] = 3
x['c'] = 2
x['a'] = 5
print(x)

2 defaultdict 类
字母出现频次统计问题,可以使用 collections 模块的 defaultdict 类来实现。
import string, random
from collections import defaultdict
x = string.ascii_letters + string.digits
print(x)
y = ''.join((random.choice(x) for i in range(10)))  # 10个随机字符
z = defaultdict(int)  # 所有值默认为0
print(z)
for i in y:
    z[i] += 1  # 修改每个字符的频次
print(z.items())

3 Counter 类
对于频次统计问题,使用 collections 模块的 Counter 类可以更加快速地实现这个功能,并且能够提供更多的功能,如查找出现次数最多的元素。
import string, random
from collections import Counter
x = string.ascii_letters + string.digits
y = ''.join((random.choice(x) for i in range(100)))
z = Counter(y)
print(z)
print(z.items())
print(z.most_common(1))  # 返回出现次数最多的一个字符及其频率
print(z.most_common(3))  # 返回出现次数最多的前3个字符及其频率




















