background image
>>> q
deque(['y', 'a', 'b', 'c'])
>>> q.
popleft
()
>>> q
deque([ 'a', 'b', 'c'])
defaultdict: 使用
dict
时,如果引用的 Key 不存在,就会抛出
KeyError
如果希望 key 不存在时,返回一个默认值,就可以用
defaultdict
>>> from collections import defaultdict
>>> dd = defaultdict(lambda: 'N/A')
>>> dd['key1'] = 'abc'
>>> dd['key1'] # key1 存在'abc'
>>> dd['key2'] # key2 不存在,返回默认值'N/A'
OrderedDict: 保持 Key 的顺序,可以用
OrderedDict(按插入
序)。 OrderedDict
可以实现一个 FIFO(先进先出)的 dict,当容量超出限制时,
先删除最早添加的 Key
>>> from collections import OrderedDict
>>> d = dict([('a', 1), ('b', 2), ('c', 3)])
>>> d # dict 的 Key 是无序的
{'a': 1, 'c': 3, 'b': 2}
>>> od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> od # OrderedDict 的 Key 是有序的
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
Counter:计数器,也是 dict 的子类,如统计字母出现的次数,类似于
Wordcount
>>> from collections import Counter
>>> c=Counter
>>> c('Programming')
Counter({'r': 2, 'm': 2, 'g': 2, 'P': 1, 'a': 1, 'o': 1, 'i': 1, 'n': 1})
3、base64 : 用 64 个字符来表示任意二进制数据.
Base64 是一种任意二进制到
文本字符串的编码方法,常用于在 URL、Cookie、网页中传输少量二进制数据。
4、struct: 解决
bytes
和其他二进制数据类型的转换。
Windows 的位图文件(.bmp)是一种非常简单的文件格式,可以用
struct
分析出
其文件头结构。
两个字节:
'BM'
表示 Windows 位图,
'BA'
表示 OS/2 位图;
一个 4 字节整数:表示位图大小;