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日

相关文章

  • Python进度条tqdm的用法详解

    Python进度条tqdm的用法详解 简介 Python中的tqdm是一个用于显示进度条的库,可以方便地在循环时显示任务的进度条,使代码更加美观而又直观。 tqdm 默认情况下可以显示进度条、已完成的百分比、已完成的任务数量、预计剩余时间等信息。 安装 通过pip安装tqdm库: pip install tqdm 基本用法 使用tqdm最基本的用法是通过包裹…

    python 2023年6月2日
    00
  • Python2包含中文报错的解决方法

    在Python2中,如果代码中包含中文字符,有时候会出现编码错误的问题。这个问题可能是由于Python2默认使用ASCII编码,而中文不在ASCII编码范围内导致的。以下是解决Python2包含中文报错的解决方法及整攻略。 1. 使用Unicode字符串 在Python2中,我们可以使用Unicode字符串解决包含中文字符的编码问题。Unicode字符串可以…

    python 2023年5月13日
    00
  • Python计算矩阵的和积的实例详解

    Python计算矩阵的和积的实例详解 在计算机科学和数学中,矩阵和积是一种常见的运算操作。在Python中,我们可以使用NumPy库来计算矩阵的和积。 第一步:导入NumPy库 在使用NumPy库之前,我们需要先导入它。 import numpy as np 第二步:创建矩阵 在计算矩阵的和积之前,我们需要先创建两个矩阵。这里我们以两个二维数组为例。 a =…

    python 2023年6月5日
    00
  • python技能之数据导出excel的实例代码

    下面是关于Python数据导出Excel的完整实例教程: 第一步:安装必要的包 导出Excel需要使用到 openpyxl 包,所以需要先安装该包。可以使用以下命令进行安装: pip install openpyxl 第二步:创建一个Excel文件并添加数据 可以使用下面的示例代码创建一个Excel文件,并向其中添加一些数据: from openpyxl i…

    python 2023年5月13日
    00
  • tensorflow tf.train.batch之数据批量读取方式

    当我们进行机器学习任务时,经常需要对大量的数据进行处理和读取,并将其整理成可以输入到模型中的批量数据,这就是数据读取的重要部分之一。在 TensorFlow 中,可以使用 tf.train.batch 函数来实现对数据的批量读取和处理,并将其投入到训练过程中。具体地,tf.train.batch 可以将读取到的数据打包成一个一个的 batch,统一的格式方便…

    python 2023年5月13日
    00
  • python内置函数sorted()用法深入分析

    Python内置函数sorted()用法深入分析 Python内置函数sorted()用于对可迭代对象进行排序,返回一个新的已排序的列表。在本篇攻略中,我们将深入分析sorted()函数的用法,并提供两个示例说明。 基本用法 sorted()函数的基本用法如下: sorted(iterable, key=None, reverse=False) 其中,ite…

    python 2023年5月13日
    00
  • python实现文件的备份流程详解

    Python实现文件备份流程详解 文件备份是对文件进行保护的重要手段之一。Python是一门强大的编程语言,可以很方便地实现文件备份的功能。下面我们详细讲解Python实现文件备份的流程,包括如下步骤: 获取源文件名和备份文件名 打开源文件 打开备份文件 将源文件内容复制到备份文件中 关闭源文件和备份文件 获取源文件名和备份文件名 我们可以通过input函数…

    python 2023年6月3日
    00
  • python3.x zip用法小结

    Python3.x zip用法小结 概述 在Python中,zip函数是非常常用的函数之一,它可以将多个可迭代对象合并成一个元组类型的可迭代对象。 其中,可迭代对象可以是列表、元组、集合、字典等类型,但它们之间的长度需要相等,否则会按照最短长度进行压缩。 zip() 函数的简单格式如下: zip(*iterables) 代码示例 示例1 在这个示例中,我们将…

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