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)