026 Python语法之栈与堆

栈的概念

  1. 一种结构体
  2. 数据先进后出

用列表模拟栈

mystack = []    # 列表
mystack.append(1)
mystack.append(2)
mystack.append(3)

while len(mystack) != 0:
    value = mystack.pop()
    print(value)

用栈深度遍历一个路径下的文件盒文件夹

队列1

import colections

myqueue = colections.deque([])

队列2

import queue

q1 = queue.Queue(maxsize=0)     # maxsize=0默认不限制元素个数
q1.qsize()          # 计算队列中数据的数量
q1.empty()          # 判断队列是否为空
q1.full()           # 判断队列是否已满
q1.get()            # 阻塞取出数据,如果没有数据会等待
q1.get_nowait()     # 非阻塞取出数据,如果没有数据会报错
q1.put("123")       # 阻塞往队列中添加数据,如果数据满了会等待
q1.put_nowait("12") # 非阻塞添加数据,如果数据满了会报错
q1.join()
q1.task_done()

介绍

  1. 参数中block是阻塞的意思
  2. 参数中timeout是等待超时的意思

队列3

import queue

q1 = queue.PriorityQueue(maxsize=0)     # maxsize=0默认不限制元素个数
q1.put((1,"fdsg"))
q1.put((3,"fdsfg"))
q1.put((2,"ffdsg"))

介绍

  1. PriorityQueue队列默认按照第一个元素排序
  2. 注意必须同一类型
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容