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. 注意必须同一类型
发布了151 篇原创文章 · 获赞 26 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/runnoob_1115/article/details/102698260
今日推荐