Python数据结构1-----基本数据结构和collections系列

1、基本数据结构

整型、浮点型、字符串、元祖、列表、字典、集合

2、高级数据结构

(collections模块)

(1)计数器(counter):对字典的补充,用于追踪值的出现次数。

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

1 #获取元素出现次数多的几个
2 bb = c.most_common(3)     #取元素次数最多的前3个
3 print(bb)
4 
5 #执行结果:
6 [('s', 6), ('d', 5), ('f', 4)]

(2)有序字典(orderedDict):  orderedDict是对字典的补充,其记住字典元素添加的顺序

orderedDict的一个函数popitem() ,将最后一个元素删除并返回最后一个元素。如果是popitem(False),则将首元素删除并返回首元素。

代码如下:

import collections 

nums=[2,4,6,8]
key=[i for i in range(4)]
dic=collections.OrderedDict(zip(key,nums))

print(dic.popitem(),dic)
print(dic.popitem(False),dic)

结果:

(3, 8) OrderedDict([(0, 2), (1, 4), (2, 6)])
(0, 2) OrderedDict([(1, 4), (2, 6)])

(3)默认字典(defaultdict):

from collections import defaultdict

values = [11, 22, 33,44,55,66,77,88,99,90]

my_dict = defaultdict(list)

for value in  values:
    if value>66:
        my_dict['k1'].append(value)
    else:
        my_dict['k2'].append(value)


#【defaultdict不需要判断'k1'、’k2'在不在字典中,如果不在自动赋值,如果在就增加。
原生的字典不行,需要判断】

(4)可命名元祖(namedtuple):其包含一个tuple所有功能以及其他功能的类型。

(5)双端队列(deque)

(queque模块)

(1)FIFO

(2)LIFO

(3)Priorityqueue

原文地址:https://www.cnblogs.com/Lee-yl/p/8962221.html