Python | 七、栈 Stack、队列 Queue

栈的基础知识

  • 是一种数据结构,在Python中常使用列表来模拟实现
  • 特点:先进后出
    • 栈和队列的对比

栈的基本操作

  • 因为Python中通过列表模拟实现栈,所以以下的基本操作实际是列表的一些操作
  • 获取长度,使用len(stack)方法
  • 进栈,使用stack.append()方法
  • 出栈,使用stack.pop()方法(将移除最后一个也就是栈顶元素)
  • 获取栈顶元素,使用stack[-1]
  • 判断是否为空,可以通过if not stack来判定,因为Python中列表、字符串、元组等容器在空的时候为False,非空时为True

队列的基础知识

  • 是一种数据结构,在Python中使用标准库queue模块里的Queue类进行创建,当然,也可以使用Python里的列表结构进行模拟实现
  • 特点:先进先出
    • 栈和队列的对比

队列的基本操作

  • 如果通过列表模拟实现队列,则以下的基本操作实际是列表的一些操作
    • 获取长度,使用len(queue)方法
    • 入队,使用queue.append()方法
    • 出队,使用queue.pop(0)方法(将移除第一个也就是队列首元素)
    • 获取队列首元素,使用queue[0]
    • 判断是否为空,可以通过if not queue来判定,因为Python中列表、字符串、元组等容器在空的时候为False,非空时为True
  • 如果使用queue模块中的Queue类
    • 创建,my_queue = queue.Queue()
    • 入队,使用my_queue.put(value)方法
    • 出队并获取元素,使用my_queue.get()方法(将移除并返回第一个也就是队列首元素)
    • 判断长度,使用my_queue.qsize()
    • 判断是否为空,使用my_queue.empty()

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-24 13:28:02       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-24 13:28:02       97 阅读
  3. 在Django里面运行非项目文件

    2024-01-24 13:28:02       78 阅读
  4. Python语言-面向对象

    2024-01-24 13:28:02       88 阅读

热门阅读

  1. 【FINEBI】finebi中常用图表类型及其适用场景

    2024-01-24 13:28:02       55 阅读
  2. 蓝桥杯-1矩阵切割(c/c++)

    2024-01-24 13:28:02       50 阅读
  3. 【AI】深度学习在编码中的应用(3)

    2024-01-24 13:28:02       50 阅读
  4. gin中使用validator做参数校验

    2024-01-24 13:28:02       58 阅读
  5. Redis-2

    Redis-2

    2024-01-24 13:28:02      49 阅读
  6. Python3多线程爬虫实例讲解

    2024-01-24 13:28:02       59 阅读
  7. 邦芒支招:10种小妙招让你准时下班

    2024-01-24 13:28:02       53 阅读
  8. MongoDB用户权限相关

    2024-01-24 13:28:02       47 阅读
  9. 大数据基础设施搭建 - Hbase

    2024-01-24 13:28:02       39 阅读