Day1_collections库学习

 1 # encoding:utf-8
 2 #
 3 """ @version:1.0
 4     @author Heng
 5     @time: 6/24/2016 4:52 PM
 6     
 7 """
 8 
 9 '''
10     collections 是python内建的集合模块
11 
12     学习一些常用的函数
13 '''
14 # namedtuple  用于创建一个自定义的tuple对象
15 
16 from collections import namedtuple
17 
18 # 定义一个2维坐标
19 Point = namedtuple('Point', ['x', 'y'])
20 p = Point(1, 3)
21 print p.x, p.y
22 # result 1 3
23 # 定义一个圆
24 # namedtuple('名称', [属性list]):
25 Circle = namedtuple('circle', ['x', 'y', 'r'])
26 c = Circle(1, 1, 3)
27 print c.x, c.y, c.r
28 # result 1  1 3
29 
30 
31 # deque 提高插入与删除操作的list,适用于队列和栈
32 
33 from collections import deque
34 
35 q = deque(range(10))
36 q.append('x')
37 q.appendleft('x1')
38 print q
39 # result deque(['x1', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'x'])
40 
41 
42 # defaultdict  与dict一样,解决key 不存在时的情况,返回一个默认值
43 
44 from collections import defaultdict
45 
46 dd = defaultdict(lambda: 'key not found')
47 print dd['key']
48 
49 # result key not found
50 
51 # Counter  一个计数器
52 
53 from collections import Counter
54 
55 c = Counter()
56 for char in "my name is niu,what's your name":
57     c[char] = c[char] + 1
58 print c
59 
60 # result 统计出字符出现的个数
61 # Counter({' ': 5, 'a': 3, 'm': 3, 'n': 3, 'e': 2, 'i': 2, 's': 2, 'u': 2, 'y': 2, "'": 1, 'h': 1, ',': 1, 'o': 1, 'r': 1, 't': 1, 'w': 1})
62 
63 # OrderedDict  一个有序的dict功能
64 
65 from collections import OrderedDict
66 
67 d = {'a': 1, 'b': 2, 'c': 3, 'd': 4, '': 5}
68 print d  # result{'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4} 默认dict是无序的集合
69 
70 b = OrderedDict(d)
71 print b
72 
73 #result          {'a': 1, '': 5, 'c': 3, 'b': 2, 'd': 4}
74 #     OrderedDict([('a', 1), ('', 5), ('c', 3), ('b', 2), ('d', 4)])
原文地址:https://www.cnblogs.com/hylinux/p/5614872.html