import queue # 一:先进先出队列 # q = queue.Queue(3) #先进先出 fifo first in first out # q.put(1) # q.put(2) # # print('当前队列内容长度',q.qsize()) # q.put(3) # print('查看队列是否满了',q.full()) # try: # q.put_nowait(4) # 报错queue.Full # except Exception: # print('队列满了') # print(q.get()) # print(q.get()) # print('查看队列是否为空',q.empty()) # print(q.get()) # print('查看队列是否为空',q.empty()) # try: # q.get_nowait() # queue.Empty # except Exception: # print('队列空了') # 二 先进后出队列,或者后进先出,类似于栈 # q = queue.LifoQueue(3) # # q.put(1) # q.put(2) # q.put(3) # # print(q.get()) # print(q.get()) # print(q.get()) #优先级队列 q = queue.PriorityQueue(5) # q.put((5,'alex')) # q.put((2,'宝宝')) # q.put((7,'大力')) # q.put((5,(2,3))) q.put((5,(2,3))) #如果说值里面的元素是数字类型,那么当两个值的优先级相同时,比较的是两个值的大小,小的优先被取出来 #如果元素是字符串,那么依次比较每个字母的ascii表中的位置,小的优先被取出来 # q.put((2,{'x':3})) # q.put((5,(1,2))) q.put((5,(2,2,3))) # q.put((2,'zalex')) # q.put((-1,'yubing')) # q.put((2,{'k':666})) #如果优先级数字相同,如果数据类型不同会报错 # q.put((2,('a','b'))) # q.put((1,(1,2))) # q.put((3,(1,2))) # q.put((-10,(1,2))) print(q.get()) print(q.get()) print(q.get()) print(q.get()) print(q.get())