博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中的Queue
阅读量:4629 次
发布时间:2019-06-09

本文共 750 字,大约阅读时间需要 2 分钟。

一、先说说Queue(队列对象)

Queue是python中的标准库,可以直接import 引用,之前学习的时候有听过著名的“先吃先拉”与“后吃先吐”,其实就是这里说的队列,队列的构造的时候可以定义它的容量,别吃撑了,吃多了,就会报错,构造的时候不写或者写个小于1的数则表示无限多

import Queue

q = Queue.Queue(10)

向队列中放值(put)

q.put(‘yang’)

q.put(4)

q.put([‘yan’,’xing’])

在队列中取值get()

默认的队列是先进先出的

>>> q.get() 

'yang' 
>>> q.get() 
>>> q.get() 
['yan', 'xing'] 
>>>

 

当一个队列为空的时候如果再用get取则会堵塞,所以取队列的时候一般是用到

get_nowait()方法,这种方法在向一个空队列取值的时候会抛一个Empty异常

所以更常用的方法是先判断一个队列是否为空,如果不为空则取值

队列中常用的方法

Queue.qsize() 返回队列的大小  

Queue.empty() 如果队列为空,返回True,反之False  
Queue.full() 如果队列满了,返回True,反之False 
Queue.get([block[, timeout]]) 获取队列,timeout等待时间  
Queue.get_nowait() 相当Queue.get(False) 
非阻塞 Queue.put(item) 写入队列,timeout等待时间  
Queue.put_nowait(item) 相当Queue.put(item, False)

转载于:https://www.cnblogs.com/yygsj/p/5829742.html

你可能感兴趣的文章
[C#][EF] 添加表添加不进来
查看>>
jquery radio 取值
查看>>
WebFrom模拟MVC
查看>>
人机猜拳(这是最近的一个总结)
查看>>
python函数
查看>>
模板引擎:Velocity&FreeMarker(转)
查看>>
Anaconda安装,jupyter notebook 使用说明
查看>>
sql server 2014预览版发布
查看>>
正则表达式string对象方法
查看>>
解析json实例
查看>>
spring中实现自己的初始化逻辑
查看>>
Accommodation development for Kaikoura
查看>>
Oracle11.2新特性之listagg函数 (行列转换)
查看>>
Flutter学习之动态ListView
查看>>
myeclipse中安装svn插件
查看>>
微信小程序----调用用户信息
查看>>
Ubuntu系统---安NVIDIA 驱动后 CUDA+cuDNN 安装
查看>>
Spring Boot配置全局异常捕获
查看>>
Java 的zip压缩和解压缩
查看>>
SPOJ375(树链剖分)
查看>>