python 队列基本定义与使用方法【初始化、赋值、判断等】

Python 队列基本定义与使用方法

队列(Queue)是一种线性数据结构,它具有先进先出的特点。即先进入队列的元素,先出队列。

Python中的队列可以使用collections库中的deque双端队列来实现。deque是一个双向队列,支持在两端进行插入和删除操作,实现了O(1)的时间复杂度。

初始化队列

可以使用collections库中的deque,也可以自己定义一个队列类。

# 导入collections库中的deque模块
from collections import deque

# 初始化一个队列
queue = deque()

使用自定义的队列类:

class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.insert(0, item)

    def dequeue(self):
        return self.items.pop()

    def size(self):
        return len(self.items)

# 初始化一个队列
queue = Queue()

队列元素的操作

元素插入:enqueue()

使用append()方法可以在队列的末尾增加一个元素,对应到deque中,使用appendleft()方法,可以在队列的最左端插入一个元素。

# 导入collections库中的deque模块
from collections import deque

# 初始化一个队列
queue = deque()

# 在队列中插入元素
queue.append(1)
queue.append(2)
queue.appendleft(0)

# 输出当前队列中的所有元素
print(queue) # 输出 [0, 1, 2]

使用自定义的队列类:

class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.insert(0, item)

    def dequeue(self):
        return self.items.pop()

    def size(self):
        return len(self.items)

# 初始化一个队列
queue = Queue()

# 在队列中插入元素
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)

# 输出当前队列中的所有元素
print(queue.items) # 输出 [3, 2, 1]

元素弹出:dequeue()

使用popleft()可以把队列最左端的元素弹出。

# 导入collections库中的deque模块
from collections import deque

# 初始化一个队列
queue = deque([0, 1, 2])

# 输出当前队列中的所有元素
print(queue) # 输出 [0, 1, 2]

# 弹出队列最左端的元素
queue.popleft()

# 输出当前队列中的所有元素
print(queue) # 输出 [1, 2]

使用自定义的队列类:

class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.insert(0, item)

    def dequeue(self):
        return self.items.pop()

    def size(self):
        return len(self.items)

# 初始化一个队列
queue = Queue()

# 在队列中插入元素
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)

# 输出当前队列中的所有元素
print(queue.items) # 输出 [3, 2, 1]

# 弹出队列最左端的元素
queue.dequeue()

# 输出当前队列中的所有元素
print(queue.items) # 输出 [3, 2]

判断队列是否为空:is_empty()

# 导入collections库中的deque模块
from collections import deque

# 初始化一个队列
queue = deque()

# 判断队列是否为空
print(queue.is_empty()) # 输出 True

# 在队列中插入元素
queue.append(1)

# 判断队列是否为空
print(queue.is_empty()) # 输出 False

使用自定义的队列类:

class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.insert(0, item)

    def dequeue(self):
        return self.items.pop()

    def size(self):
        return len(self.items)

# 初始化一个队列
queue = Queue()

# 判断队列是否为空
print(queue.is_empty()) # 输出 True

# 在队列中插入元素
queue.enqueue(1)

# 判断队列是否为空
print(queue.is_empty()) # 输出 False

结语

以上就是 Python 中队列的基本定义与使用方法,总结起来包括初始化,元素的插入和弹出,以及判断队列是否为空。当然在实际应用中,队列的使用方法还需要根据具体场景进行把握。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 队列基本定义与使用方法【初始化、赋值、判断等】 - Python技术站

(0)
上一篇 2023年6月6日
下一篇 2023年6月6日

相关文章

  • Python3实现打格点算法的GPU加速实例详解

    Python3实现打格点算法的GPU加速实例详解 简介 打格点算法是一种常见的图论算法,用于在二维坐标系中寻找一些特定的路径,如最短路径、最长路径等。本文将介绍如何利用Python3和GPU加速实现打格点算法,以提高算法的效率和速度。 准备 在开始之前,需要安装以下两个软件:1. Python3编程环境,如Anaconda等2. CUDA环境,如CUDA T…

    python 2023年6月3日
    00
  • Python爬虫爬取博客实现可视化过程解析

    我将为您提供详细的Python爬虫爬取博客实现可视化过程解析攻略。 1. 前期准备 在开始爬取博客内容之前,我们需要先安装一些必需的库。 pip install requests pip install beautifulsoup4 pip install lxml pip install pyecharts 其中,requests库是用于发送HTTP请求获…

    python 2023年5月14日
    00
  • pymysql之cur.fetchall() 和cur.fetchone()用法详解

    pymysql之cur.fetchall() 和cur.fetchone()用法详解 一、概述 pymysql是Python中操作MySQL数据库的一个常用库,在使用pymysql时,cur.fetchone()和cur.fetchall()是常见的两个方法,用于获取查询结果集中的一条或多条记录。本文将详细介绍这两个方法的用法。 二、fetchone方法 f…

    python 2023年6月3日
    00
  • 使用 Python 在京东上抢口罩的思路详解

    使用Python在京东上抢口罩的思路详解 在本教程中,我们将介绍如何使用Python在京东上抢口罩的思路。我们将使用Python的requests库和BeautifulSoup来实现这个功能。以下是一个例代码,演示如何使用Python实现在京东上抢口罩的思路: import requests from bs4 import BeautifulSoup def…

    python 2023年5月15日
    00
  • python转化excel数字日期为标准日期操作

    “python转化excel数字日期为标准日期操作”的完整实例教程如下: 一、背景知识 在Excel中,日期被存储为数值类型,为1900年1月1日到某个日期日期之间的天数。例如,2019年9月15日,在Excel中对应的数值为43741。 在Python中,要将这个数值转化为标准日期,需要用到datetime模块。 二、实现步骤 导入所需模块。需要导入dat…

    python 2023年5月14日
    00
  • 不要用强制方法杀掉python线程

    不要用强制方法杀掉Python线程的完整攻略 在Python中,线程是一种轻量级的执行单元,可以在同一进程中同时执行多个任务。但是,有时候我们需要停止或杀死一个线程,这时候我们需要注意一些问题。本文将详细讲解“不要用强制方法杀掉Python线程”的完整攻略。 为什么不要使用强制方法杀掉Python线程? 在Python中,线程是由操作系统管理的,而不是由Py…

    python 2023年5月13日
    00
  • python 提取文件指定列的方法示例

    下面是关于“python 提取文件指定列的方法示例”的完整攻略。 1. 读取文件 首先,要读取需要的文件。在Python中,可以使用Pandas来读取文件。Pandas是Python中非常常用的数据处理库,它可以让你轻松地从文件中读取数据并转换为DataFrame,方便进行数据的操作和分析。 具体来说,可以使用Pandas中的read_csv()函数来读取C…

    python 2023年6月6日
    00
  • python实现读取excel写入mysql的小工具详解

    下面我将详细讲解“python实现读取excel写入mysql的小工具详解”的完整实例教程。 介绍 在实际应用场景中,我们很可能需要将Excel表格中的数据导入到数据库中,其中MySQL是比较常用的关系型数据库。本文将介绍如何使用Python实现读取Excel并将数据写入MySQL的小工具。 需求分析 我们需要实现的功能是将Excel表格的内容批量导入到My…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部