Python实现队列的方法
本文实例讲述了Python实现队列的方法。分享给大家供大家参考。具体实现方法如下:
#!/usr/bin/env python queue = [] def enQ(): queue.append(raw_input('Enter new string: ').strip()) #调用list的列表的pop()函数.pop(0)为列表的第一个元素 def deQ(): if len(queue) == 0: print 'Cannot pop from an empty queue!' else: print 'Removed [', queue.pop(0) ,']' def viewQ(): print queue CMDs = {'e': enQ, 'd': deQ, 'v': viewQ} def showmenu(): pr = """ (E)nqueue (D)equeue (V)iew (Q)uit Enter choice: """ while True: while True: try: choice = raw_input(pr).strip()[0].lower() except (EOFError, KeyboardInterrupt, IndexError): choice = 'q' print '\nYou picked: [%s]' % choice if choice not in 'devq': print 'Invalid option, try again' else: break if choice == 'q': break CMDs[choice]() if __name__ == '__main__': showmenu()
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
Python实现的数据结构与算法之队列详解
本文实例讲述了Python实现的数据结构与算法之队列.分享给大家供大家参考.具体分析如下: 一.概述 队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear)进行,删除操作在队首(front)进行. 二.ADT 队列ADT(抽象数据类型)一般提供以下接口: ① Queue() 创建队列 ② enqueue(item) 向队尾插入项 ③ dequeue() 返回队首的项,并从队列中删除该项 ④ empty() 判断队列是否为空 ⑤ size() 返回队列中项的个数 队
-
python实现堆栈与队列的方法
本文实例讲述了python实现堆栈与队列的方法.分享给大家供大家参考.具体分析如下: 1.python实现堆栈,可先将Stack类写入文件stack.py,在其它程序文件中使用from stack import Stack,然后就可以使用堆栈了. stack.py的程序: 复制代码 代码如下: class Stack(): def __init__(self,size): self.size=size; self.stack=[];
-
python计算最小优先级队列代码分享
复制代码 代码如下: # -*- coding: utf-8 -*- class Heap(object): @classmethod def parent(cls, i): """父结点下标""" return int((i - 1) >> 1); @classmethod def left(cls, i): """左儿子下标""
-
python异步任务队列示例
很多场景为了不阻塞,都需要异步回调机制.这是一个简单的例子,大家参考使用吧 复制代码 代码如下: #!/usr/bin/env python# -*- coding: UTF-8 -*- import loggingimport queueimport threading def func_a(a, b): return a + b def func_b(): pass def func_c(a, b, c): return a, b, c # 异步任务队列_task_queu
-
python计算最大优先级队列实例
复制代码 代码如下: # -*- coding: utf-8 -*- class Heap(object): @classmethod def parent(cls, i): """父结点下标""" return int((i - 1) >> 1); @classmethod def left(cls, i): """左儿子下标""
-
Python优先队列实现方法示例
本文实例讲述了Python优先队列实现方法.分享给大家供大家参考,具体如下: 1. 代码 import Queue import threading class Job(object): def __init__(self, priority, description): self.priority = priority self.description = description print 'New job:', description return def __cmp__(self, ot
-
Python多线程和队列操作实例
Python3,开一个线程,间隔1秒把一个递增的数字写入队列,再开一个线程,从队列中取出数字并打印到终端 复制代码 代码如下: #! /usr/bin/env python3 import time import threading import queue # 一个线程,间隔一定的时间,把一个递增的数字写入队列 # 生产者 class Producer(threading.Thread): def __init__(self, work_queue): super().__in
-
Python实现优先级队列结构的方法详解
最简单的实现 一个队列至少满足2个方法,put和get. 借助最小堆来实现. 这里按"值越大优先级越高"的顺序. #coding=utf-8 from heapq import heappush, heappop class PriorityQueue: def __init__(self): self._queue = [] def put(self, item, priority): heappush(self._queue, (-priority, item)) def get(
-
Python实现简单多线程任务队列
最近我在用梯度下降算法绘制神经网络的数据时,遇到了一些算法性能的问题.梯度下降算法的代码如下(伪代码): def gradient_descent(): # the gradient descent code plotly.write(X, Y) 一般来说,当网络请求 plot.ly 绘图时会阻塞等待返回,于是也会影响到其他的梯度下降函数的执行速度. 一种解决办法是每调用一次 plotly.write 函数就开启一个新的线程,但是这种方法感觉不是很好. 我不想用一个像 cerely(一种分布式任
-
Python3中多线程编程的队列运作示例
Python3,开一个线程,间隔1秒把一个递增的数字写入队列,再开一个线程,从队列中取出数字并打印到终端 #! /usr/bin/env python3 import time import threading import queue # 一个线程,间隔一定的时间,把一个递增的数字写入队列 # 生产者 class Producer(threading.Thread): def __init__(self, work_queue): super().__init__() # 必须调用 self.
随机推荐
- PostgreSQL教程(九):事物隔离介绍
- 以实例讲解Objective-C中的KVO与KVC机制
- 2016 cocoapods的安装和使用方法以及版本升级遇到的问题
- {}与function(){}选用空对象{}来存放keyValue
- jQuery实现checkbox全选的方法
- Android导入现有的数据库方法示例
- dos里执行tracert命令只有一跳的原因及解决方法
- MySQL学习第二天 安装和配置mysql winx64
- DHTML Slide Show script图片轮换
- jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
- 基于JQuery实现的图片自动进行缩放和裁剪处理
- Node.js实现在目录中查找某个字符串及所在文件
- 简介JavaScript中的setHours()方法的使用
- 浏览网页注册表被修改之迷及解决办法
- 服务器端C#实现的CSS解析器
- javascript 按键事件(兼容各浏览器)
- Android 判断当前语言环境是否是中文环境
- 基于C++的拼多多算法在线笔试题示例
- Android Bluetooth蓝牙技术初体验
- PHP cURL获取微信公众号access_token的实例