队列:满足特点 --> 先进先出,类似于我们生活中的买票、安检

【注意】

对于队列而言:python中有为其封装特定的函数,在collections模块中的deque函数就可以获取一个队列对象;

操作步骤:

步骤一:导入collections模块

步骤二:collections.deque() --> 返回队列对象

步骤三:使用队列对象调用其存和取的函数,完成需求

演示队列存取数据的特点:先进先出
import collections#获取队列对象:deque()
queue=collections.deque()
print(queue,type(queue))#向队列中逾加数据:进队操作
queue.append('A')
print(queue)queue.append('B')
print(queue)queue.append('C')
print(queue)#将队列中的数据弹出:出队操作
obj=queue.popleft()
print('弹出:'+obj)obj=queue.popleft()
print('弹出:'+obj)obj=queue.popleft()
print('弹出:'+obj)'''
模拟使用队列结构实现遍历目录之广度遍历
'''
import collections,os
#自定义函数:实现遍历多目录层级操作(广度遍历)
def getAllFileQU(path):#获取一个队列queue=collections.deque()#将path数据进队
    queue.append(path)#只要queue中还有数据,循环就继续while len(queue)!=0:file_path=queue.popleft()#获取file_path中所有字内容(文件、子目录)files_list=os.listdir(file_path)#循环处理file_list中的每一个元素for file in files_list:#还原其绝对路径值fileAbsPath=os.path.join(file_path,file)#判断是文件还是目录,操作和深度遍历一样if os.path.isfile(fileAbsPath):print('文件:'+file)else:print('目录:'+file)queue.append(fileAbsPath)path=r'test.txt'
getAllFileQU(path)


为了更好的理解栈和列队存取数据的特点:

我们书写了深度遍历和广度遍历的代码操作,

从中得知不使用递归操作也可以使用遍历多层级目录的需求,

这样做的好处是:更加的节省内存资源

转载于:https://www.cnblogs.com/hankleo/p/10453308.html

python第三十二课——队列相关推荐

  1. NeHe OpenGL第三十二课:拾取游戏

    NeHe OpenGL第三十二课:拾取游戏 拾取, Alpha混合, Alpha测试, 排序: 这又是一个小游戏,交给的东西会很多,慢慢体会吧   欢迎来到32课. 这课大概是在我所写作已来最大的一课 ...

  2. 从零开始学Python:第十二课-常用数据结构之元组

    上一节课为大家讲解了Python中的列表,它是一种容器型数据类型,我们可以通过定义列表类型的变量来保存和操作多个元素.当然,Python中容器型的数据类型肯定不止列表一种,接下来我们为大家讲解另一种重 ...

  3. [Python人工智能] 三十二.Bert模型 (1)Keras-bert基本用法及预训练模型

    从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章结合文本挖掘介绍微博情感分类知识,包括数据预处理.机器学习和深度学习的情感分类.这篇文章将开启新的内容--Bert ...

  4. Python数据分析第十二课:单变量、双变量及多变量分析图

    一.单变量分析绘图 什么是单变量分析? 单变量其实就是我们通常接触到的数据集中的一列数据. 单变量分析是数据分析中最简单的形式,其中被分析的数据只包含一个变量.因为它是一个单一的变量,它不处理原因或关 ...

  5. HLS第三十二课(codingstyle )

    HLS中,C是用来描述硬件的,不是软件编程的,这是基本概念. 下面记录一些常用的C描述技巧. ++++++++++++++++++++++++++++++ 移位寄存器的描述. for(i = N - ...

  6. 第三十二课.脉冲神经网络SNN

    目录 时间驱动与事件驱动 时间驱动 事件驱动 基于时间驱动的脉冲神经元 spikingjelly:LIF神经元 实验仿真 时间驱动与事件驱动 时间驱动 为了便于理解时间驱动,我们可以将SNN(spik ...

  7. 【问链财经-区块链基础知识系列】 第三十二课 从区块链溯源来看农产品链的设计

    在区块链的应用场景中,农产品溯源和食品溯源一直是翻来覆去讲的故事,但实际上溯源是一个伪命题,农产品和食品的加密上链实现溯源看起来很丰满,然而现实却很骨干.我们经常忘记了初心:溯源的目的是为了什么? 农 ...

  8. [Python图像处理] 三十二.傅里叶变换(图像去噪)与霍夫变换(特征识别)万字详细总结

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  9. 潭州课堂25班:Ph201805201 django 项目 第三十二课 后台站点管理(课堂笔记)

    一.后台站点模版抽取 1.获取静态站点模版 可以使用git clone到本地 git clone https://github.com/almasaeed2010/AdminLTE.git 也可以在g ...

最新文章

  1. 科学家提出了忆阻性神经混合芯片 这一概念
  2. vim g s 对比
  3. chapter 01
  4. 简说创业公司的技术选型,从BearyChat的开发说起
  5. 关于 springcloud gateway 设置 context-path 的问题
  6. 数组精选题目三连(6)
  7. Python 中使用help()命令后如何退出
  8. php基础语法知识笔记(一)
  9. 如何向开源软件贡献自己的力量
  10. 数据结构和算法-003 数组排序 选择排序
  11. 郭麒麟、宋轶主演的《赘婿》1-8集拍得怎么样?
  12. 矿区无人机影像地物提取(语义分割)
  13. 如何想要在开机启动登陆时,用户名也不输入
  14. 【深度学习】基于Numpy实现的神经网络进行手写数字识别
  15. UIImage保存到相册
  16. python逐行读取txt文件readline_Python File readline() 方法
  17. 初级官方卡刷包精简 添加万能ROOT
  18. 中兴ZXV10 H608B无线MODEM开路由自动拨号上网设置
  19. 老电脑可以升级win10系统吗
  20. 国外html游戏发展历史,网页游戏技术发展史 早期到当前10几年历程

热门文章

  1. zabbix-2:自定义监控项目
  2. spring配置xml遇到的一些错误,最后修改的版本
  3. IOS中通知中心(NSNotificationCenter)的使用总结
  4. linux讲解系列:激活script
  5. 设计模式之四(抽象工厂模式第一回合)
  6. invester is the person whose opinion is so valuable
  7. my understanding for love
  8. 空场景在安卓上的渲染消耗问题
  9. Scala - 快速学习08 - 函数式编程:高阶函数
  10. WPFToolkit DataGrid 使用介绍zz