namedtuple
用来自定义tuple。
from collections import nametuplePoint = nametuple('Point',['x','y'])
p = Point(1,2)
pring p.x,p.y
deque
deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈
from collections import dequeq = deque(['a','b','c'])
a.append('xx)
defaultdict
使用dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用defaultdict
OrderedDict如果要保持Key的顺序,可以用OrderedDict:
注意,OrderedDict的Key会按照插入的顺序排列,不是Key本身排序:
base64 >>> import base64>>> base64.b64encode('binary\x00string')
'YmluYXJ5AHN0cmluZw=='
>>> base64.b64decode('YmluYXJ5AHN0cmluZw==')
'binary\x00string'
hashlib
python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)
md5使用 import hashlibmd5 = hashlib.md5()
md5.update('how to use md5 in python hashlib?')
print md5.hexdigest()
sha1使用 import hashlib
sha1 = hashlib.sha1()
sha1.update('how to use sha1 in ')
sha1.update('python hashlib?')
print sha1.hexdigest()