栈:满足特点 --> 先进后出,类似于我们生活中的子弹夹 【注意】 对于栈结构而言:python中没有为其封装特定的函数,我们可以使用list(列表)来模拟栈的特点 使用list对象来模拟栈结构存取数据的特点:先进后出
# 定义一个列表对象,stack(变量名、引用名) stack=[] # 向栈中添加数据(模拟压栈) stack.append(‘A‘) print(stack) stack.append(‘B‘) print(stack) stack.append(‘C‘) print(stack) # 将栈中的数据弹出(模拟弹出) obj=stack.pop() print(‘弹出:‘+obj) obj=stack.pop() print(‘弹出:‘+obj) obj=stack.pop() print(‘弹出:‘+obj)
模拟栈结构特点实现目录遍历之深度遍历
import os #自定义函数:实现深度遍历目录层级的操作 def getAllFileST(path): #定义一个列表 lt=[] #将path(字符串、绝对路径)压栈 lt.append(path) #根据lt的长度来决定循环执行的次数 while len(lt)!=0: #将lt中的数据弹栈 file_path=lt.pop() #得到file_path中的字内容(文件、子目录)以列表的形式返回 file_list=os.listdir(file_path) #循环处理file_list for file in file_list: #将其中的每个元素还原成为绝对路径值 fileAbsPath=os.path.join(file_path,file) ‘‘‘ 判断是文件还是目录? 如果是文件,直接打印其文件名即可 如果是目录,先打印其目录然后在将其压栈 ‘‘‘ if os.path.isfile(fileAbsPath): print(‘文件:‘+file) else: print(‘目录:‘+file) lt.append(fileAbsPath) p=r‘a.txt‘ getAllFileST(p)
原文地址:https://www.cnblogs.com/hankleo/p/10453047.html
时间: 2024-09-27 01:42:37