关于python中collections包下的常用功能的使用

python 中的collections包下面有很多实用的工具


1、namedtuple(给元组中的元素命名) 

元组常常被使用是因为存储空间占用小,访问的速度很快

但是在我们平时的元组中只有值得存储,没有存在名字 使用namedtuple会帮我们解决这个问题

我们的做法是如下:

from collections import namedtuple


 Human = namedtuple('Human',['age','region','gender','religion'])

human1 = Human(15,'Chinese','male','none')

human2 = Human(age = 16, region = 'American', gender = 'female', religion = 'none')

我们可以看到在这里我们可以直接传入参数的值,也可以通过关键字传入值。


2、Counter(统计字典中的关键字的值出现的次数)

如下使用:

from collections import Counter


data = [10, 0, 7, 8, 10, 5, 2, 7, 3, 3, 2, 8, 2, 2, 5, 5, 4, 2, 5, 6, 7, 9, 10, 3, 9]

print(Counter(data))

m = Counter(data)

print(m.mostcommon(3))

就打印出了频率最高的三个数


3、OrderedDict(使传入的key值按照传入的顺序排列)

如下使用:

from collections import OrderedDict

dict_temp = OrderedDict()

dict_temp['b'] = 1

dict_temp['c'] = 2

dict_temp['a'] = 3

最后输出这个字典 你会发现这个字典的顺序是按照输入的顺序排列的


4、deque(构造一个双端的队列, 一端进入 一端出,最大长度受限,可以节省空间)

如下使用:

>>> queue_temp = deque([],5)
>>> queue_temp.append(1)
>>> queue_temp.append(2)
>>> queue_temp.append(3)
>>> queue_temp.append(4)
>>> queue_temp.append(5)
>>> queue_temp
deque([1, 2, 3, 4, 5], maxlen=5)
>>> queue_temp.append(6)
>>> queue_temp
deque([2, 3, 4, 5, 6], maxlen=5)

你可能感兴趣的:(Python实用技巧)