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实现优先级队列结构的方法详解
最简单的实现 一个队列至少满足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(一种分布式任
-
python实现堆栈与队列的方法
本文实例讲述了python实现堆栈与队列的方法.分享给大家供大家参考.具体分析如下: 1.python实现堆栈,可先将Stack类写入文件stack.py,在其它程序文件中使用from stack import Stack,然后就可以使用堆栈了. stack.py的程序: 复制代码 代码如下: class Stack(): def __init__(self,size): self.size=size; self.stack=[];
-
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.
-
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优先队列实现方法示例
本文实例讲述了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计算最小优先级队列代码分享
复制代码 代码如下: # -*- coding: utf-8 -*- class Heap(object): @classmethod def parent(cls, i): """父结点下标""" return int((i - 1) >> 1); @classmethod def left(cls, i): """左儿子下标""
-
Python实现的数据结构与算法之队列详解
本文实例讲述了Python实现的数据结构与算法之队列.分享给大家供大家参考.具体分析如下: 一.概述 队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear)进行,删除操作在队首(front)进行. 二.ADT 队列ADT(抽象数据类型)一般提供以下接口: ① Queue() 创建队列 ② enqueue(item) 向队尾插入项 ③ dequeue() 返回队首的项,并从队列中删除该项 ④ empty() 判断队列是否为空 ⑤ size() 返回队列中项的个数 队
-
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): """左儿子下标""
随机推荐
- AJAX应用实例之检测用户名是否唯一(实例代码)
- jquery点击缩略图切换视频播放特效代码分享
- Linux 和Windows 安装Git 步骤详细介绍
- iOS UITextField、UITextView只限输入中文、英文、数字及实时限制字符个数的封装实现代码
- 关于TypeScript中import JSON的正确姿势详解
- PHP自定义函数实现格式化秒的方法
- PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
- PHP文件打开、关闭、写入的判断与执行代码
- Node.js 使用递归实现遍历文件夹中所有文件
- C#实现的ACCESS数据库操作类完整实例
- jQuery Validate 相关参数及常用的自定义验证规则
- Express+Nodejs 下的登录拦截实现代码
- 命令提示符编译java的方法(必看篇)
- 实例详解java Struts2的配置与简单案例
- python读写json文件的简单实现
- python生成日历实例解析
- C#生成PDF文件流
- 万能数据库连接程序
- PHP匿名函数(闭包函数)详解
- Python除法之传统除法、Floor除法及真除法实例详解
