本文目录一览:
python实现堆栈与队列的方法
python实现堆栈与队列的方法
本文实例讲述了python实现堆栈与队列的方法。分享给大家供大家参考。具体分析如下:
1、python实现堆栈,可先将Stack类写入文件stack.py,在其它程序文件中使用from stack import Stack
,然后就可以使用堆栈了。
stack.py
的程序:
代码如下:
class Stack():
def __init__(self, size):
self.size = size
self.stack = []
self.top = -1
def push(self, ele): # 入栈之前检查栈是否已满
if self.isfull():
raise Exception("out of range")
else:
self.stack.append(ele)
self.top = self.top + 1
def pop(self): # 出栈之前检查栈是否为空
if self.isempty():
raise Exception("stack is empty")
else:
self.top = self.top - 1
return self.stack.pop()
def isfull(self):
return self.top + 1 == self.size
def isempty(self):
return self.top == -1
再写一个程序文件,stacktest.py
,使用栈,内容如下:
代码如下:
#!/usr/bin/python
from stack import Stack
s = Stack(20)
for i in range(3):
s.push(i)
s.pop()
print(s.isempty())
2、python 实现队列:
class Queue():
def __init__(self, size):
self.size = size
self.front = -1
self.rear = -1
self.queue = []
def enqueue(self, ele): # 入队操作
if self.isfull():
raise Exception("queue is full")
else:
self.queue.append(ele)
self.rear = self.rear + 1
def dequeue(self): # 出队操作
if self.isempty():
raise Exception("queue is empty")
else:
self.front = self.front + 1
return self.queue[self.front]
def isfull(self):
return self.rear - self.front + 1 == self.size
def isempty(self):
return self.front == self.rear
q = Queue(10)
for i in range(3):
q.enqueue(i)
print(q.dequeue())
print(q.isempty())
希望本文所述对大家的Python程序设计有所帮助。
Python实现按钮点击效果需要什么方法
首页,我们先理解网页点击的本质: 其实,站在数据底层理解,我们对网页的操作可以抽象成向服务器发送数据。 这样看来,我们有两种方法使用Python模拟网页按钮点击:
- 方法一:间接模拟。模拟向服务器发送数据。可以用抓包工具,看点击按钮时到底向服务器发送的是什么数据,然后使用Python模拟发送的数据。
- 方法二:真实模拟。可以先找到按钮,然后执行点击。这个有现成的库,Selenium。
Python实现对列表中重复元素进行去重的方法小结
- 运用新建字典的方式,去除重复的键。
- 利用集合,直接将列表转化为集合,自动去重后转回列表。有一个问题,转换为集合的同时,数据无序了。
- 用列表的推导式。