collection模块

collection模块

#incoding=UTF-8
'''
namedtuple 命名元组
queque 队列      deque  双端队列
OrderDict    有序字典     defaultdict   默认字典
 counter  计算字符串中各个字符出现的次数
'''


from collections import namedtuple
'''
    namedtuple 命名元组, 感觉是命名的对象   可以用来表示坐标等
        namedtuple('名称',[属性list])
'''
Point = namedtuple('point',['x','y'])
p = Point(1,2)
print(p.x)  # 1
print(p.y)  # 2
print(p)    #point(x=1, y=2)


'''
    queque 队列
    deque  双端队列
'''
import queue
q = queue.Queue()   # 创建一个队列
q.put(1)
q.put(3)
print(q.get())
print(q.get())

from collections import deque
bq = deque()
bq.append('a')      #从后面放数据
bq.appendleft('b')  #从前面放数据
bq.insert(1,3)   #在1的位置,插入3
bq.pop()         #从后面取数据
bq.popleft()     #从前面取数据


'''
    OrderDict    有序字典
    defaultdict   默认字典    使用dict时,若找不到key值时,报错,默认字典会有一个默认值,不会报错
'''
from collections import OrderedDict
od = OrderedDict([('a',1),('b',2),('c',3)])
print(od)

from  collections import defaultdict
dd = defaultdict(lambda : 5)
print(dd['k'])      # 找不到key等于‘k’的值,返回设定的默认值5

'''
    counter  计算字符串中各个字符出现的次数
'''
上一篇:Day86 滑动窗口最大值


下一篇:2021-04-08