当前位置: 首页 > 后端技术 > Python

万能的list列表,python中栈和队列的实现完全靠它!

时间:2023-03-26 00:47:47 Python

python编程中很多数据计算都需要依赖list,比如Java编程中的栈结构/队列结构也可以通过list列表来实现。[阅读全文]1.使用栈数据结构将链表实现为栈的思路是:“先进后出”,所以在实现的时候,需要保证其中的数据先进来最后出去。栈数据结构一般在计算机的中缀表达式中。计算有很多应用场景,因为计算机并不是简单地按照我们理解的加减乘除进行数据运算。这里写一个简单的实现过程。其实list列表中已经有内置函数可以实现了。stack_=[]#初始化一个栈对象'''写一个for循环向栈对象中添加数据元素'''forninrange(10):stack_.append(n)#向栈对象中添加数据元素print(stack_)#当前栈对象中的数据元素#[0,1,2,3,4,5,6,7,8,9]'''写一个for循环取出最后两个栈顶数据元素'''forminrange(2):stack_.pop()#通过pop函数取出栈顶元素print(stack_)#当前栈对象中的数据元素#[0,1,2,3,4,5,6,7]#可以发现去掉了最后两个栈顶数据元素8和9,这样栈对象的处理就简单的实现了'先进后出'的效果,即是,“后进先出”。2.使用队列数据结构实现列表作为队列的思路是:'先进先出',队列元素按照队列的方式依次加入到队列数组中,加入的数据元素first先出来,然后后面的数据元素再往前移。同样还是要通过list列表来实现,但是这次队列的实现需要在代码块中导入一个python来辅助实现。fromcollectionsimportdeque#将队列对象导入到代码块中#使用while循环初始化数据list_=[]#初始化一个列表来存储数据元素k=1#初始化k=1完成while循环whilek<20:#添加判断条件,这里取19个元素list_.append(k)#添加数据元素到列表中k=k+1#增加循环元素print(list_)#打印查看当前lsit数据List#[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]#生成数据后,再放置list数据元素在队列对象中。queue_=deque(list_)#初始化队列对象print(queue_)#查看当前队列数据元素#deque([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])#现在向队列添加数据元素queue_.append(20)#向队列添加元素20queue_.append(21)#向队列添加元素21print(queue_)#查看当前队列数据元素#deque([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])#现在从队列中取出一个数据元素queue_.popleft()#从队列头部取出数据元素print(queue_)#查看当前队列数据元素#deque([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])此时,队列头部的数据元素1有被取出来。【过往精品】如何使用pyqt5实现数据增删改查功能...介绍一款文字转语音神器,几行代码搞定!初学者用python自动批量整理文件的福利:分享五个免费的Python学习网站,赶紧收藏吧!有趣的控制台玩法:一行代码绘制控制台图像!数据处理小工具:Excel批量数据文件分割器/整合器...办公自动化:PDF文件合并,合并多个PDF文件...GUI猜数游戏,直接玩...教你做一个数据图表生成器(带sourcecode)...动态指针时钟:使用pyqt5制作指针时钟,显示实时时间。python日志里最亮的少年是我喜欢的花里胡哨的...哈萨,英雄联盟全皮下载器来了...