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

Python 从零学起(纯基础) 笔记 之 collection系列

时间:2016-08-25 23:39:43      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

Collection系列

 


  1.  计数器(Counter

Counter是对字典类型的补充,用于追踪值的出现次数  

ps  具备字典所有功能 + 自己的功能

Counter

1 import collections
2 obj = collections.Counter(haskhflajgahg)
3 print(obj)
4 ret = obj.most_common(4)#取前四位(很少用到)
5 print(ret)

结果:

Counter({‘a‘: 3, ‘h‘: 3, ‘g‘: 2, ‘l‘: 1, ‘f‘: 1, ‘s‘: 1, ‘j‘: 1, ‘k‘: 1})

[(‘a‘, 3), (‘h‘, 3), (‘g‘, 2), (‘l‘, 1)]

most_common  elements  items

 1 import collections
 2 obj = collections.Counter(haskhflajgahg)
 3 print(obj)
 4 ret = obj.most_common(4)#取前四位(很少用到)
 5 print(ret)
 6 print(-----分割符-------)
 7 for item in obj.elements():
 8     print(item)
 9 print(-----分割符-------)
10 for k,v in obj .items():
11     print(k,v)

结果:

Counter({‘h‘: 3, ‘a‘: 3, ‘g‘: 2, ‘k‘: 1, ‘s‘: 1, ‘j‘: 1, ‘l‘: 1, ‘f‘: 1})

[(‘h‘, 3), (‘a‘, 3), (‘g‘, 2), (‘k‘, 1)]

-----分割符-------

k

h

h

h

s

j

a

a

a

l

f

g

g

-----分割符-------

k 1

h 3

s 1

j 1

a 3

l 1

f 1

g 2

 

elements   =》  原生的值

items      =》  处理过后的数据

1 import  collections
2 obj = collections.Counter([11,22,33,22])
3 print(obj)
4 obj.update([Young,11,33])
5 print(obj)
6 obj.subtract([Young,11,33])
7 print(obj) 

2.  有序字典(orderedDict

orderedDict是对字典类型的补充,他记住了字典元素添加的顺序

3.   默认字典

Defaultdict是对字典的类型的补充,他默认给字典的值设置了一个类型

 1 from collections import defaultdict
 2 
 3 values = [11,22,33,44,55,66,77,88,99,100]
 4 my_dict = defaultdict(list)
 5 for value in values:
 6     if value>66:
 7         my_dict[k1].append(value)
 8     else:
 9         my_dict[k2].append(value)
10 print(my_dict)

结果:

defaultdict(<class ‘list‘>, {‘k2‘: [11, 22, 33, 44, 55, 66], ‘k1‘: [77, 88, 99, 100]})

4.  可命名元组(namedtuple

根据namedtuple可以创建一个包含tuple所有功能以及其他功能的类型

1 import collections
2 #new a class , defaultdict
3 MytupleClass = collections.namedtuple(MytupleClass,[x,y,z])
4 print(help(MytupleClass))
5 obj = MytupleClass(11,22,33)
6 print(obj.x)
7 print(obj.y)
8 print(obj.z)

 

5.  双向队列(deque

 1 import  collections
 2 d = collections.deque()
 3 d.append(1)
 4 d.append(10)
 5 d.appendleft(1)
 6 print(d)
 7 r = d.count(1)
 8 print(r)
 9 d.extend([yy,uu,ii])
10 print(d)
11 d.extendleft([1,2])
12 print(d)
13 d.rotate(3)
14 print(d)

结果:

deque([‘1‘, ‘1‘, ‘10‘])

2

deque([‘1‘, ‘1‘, ‘10‘, ‘yy‘, ‘uu‘, ‘ii‘])

deque([‘2‘, ‘1‘, ‘1‘, ‘1‘, ‘10‘, ‘yy‘, ‘uu‘, ‘ii‘])

deque([‘yy‘, ‘uu‘, ‘ii‘, ‘2‘, ‘1‘, ‘1‘, ‘1‘, ‘10‘])

6.  单向队列

1 import queue
2 # d = collection.deque()
3 q = queue.Queue()
4 q.put(123)
5 q.put(456)
6 print(q.qsize())
7 print(q.get())
8 print(q.get())

结果:

2

123

456

Python 从零学起(纯基础) 笔记 之 collection系列

标签:

原文地址:http://www.cnblogs.com/Bro-Young/p/5808379.html

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