码迷,mamicode.com
首页 > 编程语言 > 详细

python学习笔记(十二) - 常用内建模块

时间:2015-02-07 10:21:29      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

一.collections

1. namedtuple

namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。

from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(1, 2)
print p.x
print p.y

2.deque

deque是为了实现高效插入和高效删除操作的双向列表,适合用于队列和栈

from collections import deque
q = deque(['a', 'b', 'c'])
q.append('x') # 往尾部添加
q.appendleft('y') # 往头部添加
print q  # deque(['y', 'a', 'b', 'c', 'x'])

q.pop() # 弹出元素
q.popleft()
print q  # deque(['a', 'b', 'c'])

3.defaultdict

使用dict时,如果引用的key不存在,就会抛出KeyError。如果希望Key不存在时,返回一个默认值,就可以使用defaultdict。

注意:OrderedDict的Key会按照插入的顺序排序,不是Key本身排序。

from collections import defaultdict
dd = defaultdict(lambda: 'N/A')
dd['key1'] = 'abc'

print dd['key1'] # key1存在,返回‘abc’
print dd['key2'] # key2不存在,返回默认值 ‘N/A’
4.OrderedDict

使用dict时,Key是无序的,在对dict做迭代时,我们无法确定Key的顺序。如果要保持Key的顺序,可以用OrderedDict:

from collections import OrderedDict
d = dict([('a', 1), ('b', 2), ('c', 3)])
print d # dict的Key是无序的 {'a': 1, 'c': 3, 'b': 2}

od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
print od # OrderedDict的Key是有序的 OrderedDict([('a', 1), ('b', 2), ('c', 3)])

5.Counter

Counter是一个简单的计数器,实际上它也是dict的一个子类:

from collections import Counter
c = Counter()
for ch in 'programming':
    c[ch] = c[ch] + 1
    
print c
# Counter({'g': 2, 'm': 2, 'r': 2, 'a': 1, 'i': 1, 'o': 1, 'n': 1, 'p': 1})

二.base64

base64是一种任意二进制到文本字符串的编码方式,常用于在URL、Cookie、网页中传输少量二进制数据

import base64
print base64.b64encode('binary string')
# 'YmluYXJ5AHN0cmluZw=='

print base64.b64decode('YmluYXJ5IHN0cmluZw==')
# 'binary string'

三.struct


四.hashlib


五.itertools


六.XML


七.HTMLParser


python学习笔记(十二) - 常用内建模块

标签:

原文地址:http://blog.csdn.net/zdp072/article/details/43601027

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!