今天给大家分享一下怎么使用Python实现队列?实现python队列的方法有哪些? , 相信大部分人对这个知识都还不怎么了解 , 因此分享这篇文章给大家参考一下 , 文中介绍的非常详细 , 具有一定的参考价值 , 希望大家阅读完这篇文章后大有收获 , 下面让我们一起去了解一下吧!
文章插图
Python实现队列我们需要用到它自己自带的库叫:queue,这个库对队列进行操作又包含了三种方法 , 下面就给大家举例说明这三种方法的用途以及区别 。
首先先介绍一下有关库对队列进行的简单操作:
【怎么使用Python库实现队列?实现python队列的方法有哪些?】q.qsize() 返回队列中的消息数量
q.empty() 看一个队列是否为空 , 不为空返回True 为空则返回False
q.full() # 判断队列是否排满 , 不为空返回True 为空则返回False
q.get() # 获取队列等待时间 , 有两个参数 , block表示是否需要等待 timeout表示需要等待的时间是多久 。
q.get_nowait() # 相当于q.get(False) 获取不等待
q.put_nowait() # 相当于 q.put(item,False) 写入不等待
q.task_done() #表示这一步已经执行完毕 , 可以开始下一步执行
q.join() # 等待队列中所有任务(数据)执行完毕之后再往下执行 , 否则一直等待
注意点 :join是判断的依据 。不单单指的是队列中没有数据 , 数据get出去之后 , 要使用task_done向队列发送一个信号 , 表示该任务执行完毕
实例方法:
1、使用queue对队列先入先出
import queuea1 = queue.Queue(2) # 定义2 指定队列长度 a1.put(1) # 等待插入a1.put(11)a1.put(22)# a1.put(22,block=False) # 不等待插入 满了之后报错# a1.put_nowait(22) # 不等待插入 满了之后报错print(a1.get())print(a1.get())# print(a1.get(block=False)) # print(a1.get_nowait()) # a1.put(2)print(a1.qsize()) # 获取队列中的任务数/消息数print(a1.full()) print(a1.empty())a1.task_done()a1.task_done()a1.task_done() # 插入一条数据使用完成之后就要发送一条消息a1.join() # 收到task_done返回的信号 , 当都使用完成之后才会继续往下执行 如果任务没有完成那将不会向下执行print('join之后')以上代码 , 首先定义了一个变量a1 , 指定一个列表长度为2 , 表示只能显示两条数据 , put的使用方法是在等待输入 , print(a1.get())代码表示先入先出获取 1先出 22最后出 , a1.get(block=False)表示的是不等待获取 , 队列就会以为空进行报错 。a1.qsize()为了获取队列中的任务数/消息数 , print(a1.full())判断队列是否已满 , print(a1.empty())判断队列是否为空 。
以上是“怎么使用Pytho库实现队列?实现python队列的方法有哪些?”这篇文章的所有内容 , 感谢各位的阅读!希望分享的内容对大家有帮助!
推荐阅读
- 学习Python到底是培训还是自学合适呢?零基础可以学会Python吗?
- 什么是条件变量?Python中条件变量如何使用?
- python如何统计输入字符串中字符的个数?python统计字符的个数代码
- 如何在python中设置随机种子?numpy库中的随机数种子如何产生?
- 如何用Python代码实现词云?python实现词云的方法有哪些?
- 如何实现python中的链表反转?Python实现链表反转的方法是什么?
- 如何安装python框架?windows安装python框架的方法
- Python中bytes是什么意思?Python字节类要怎么使用
- Python中的condition如何使用?python中condition条件变量的使用方法有哪些?
- python如何解决程序运行完就关闭?python运行完不关闭窗口的解决方法