在python编程中很多的数据计算都须要依附列表来实现,比方Java编程中的堆栈构造/队列构造也能够通过list列表实现的。

【浏览全文】

1、将列表当做堆栈来应用

堆栈数据结构实现的思维就是:‘先进后出’,所以实现时须要保障先进来的数据最初进来,堆栈数据结构的个别在计算机的中断表达式计算中利用场景比拟多,因为计算机并不是简略的依据咱们了解的加减乘除来进行数据运算的。

这里写了一个简略的实现过程,其实list列表中曾经有自带的函数能够实现。

stack_ = [] # 初始化一个栈对象'''写一个for循环向栈对象中增加数据元素'''for n in range(10):    stack_.append(n)  # 向栈对象中增加数据元素print(stack_) # 以后栈对象中的数据元素# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]'''写一个for循环来移除最初两个栈顶数据元素'''for m in range(2):    stack_.pop()  # 通过pop函数移除栈顶元素print(stack_) # 以后栈对象中的数据元素# [0, 1, 2, 3, 4, 5, 6, 7]# 能够发现最初进来的两个栈顶数据元素8、9被移除了进去

这样就简略实现了栈对象的过程达到‘先进后出’的成果,也就是‘后进先出’。

2、将列表当做队列来应用

队列数据结构实现的思维就是:‘先进先出’,将队列元素依照排队的形式顺次退出到队列数组中,先退出的数据元素最先进去,而后前面的数据元素再向前挪动。

同样的还是得通过list列表来实现,只是这次队列的实现须要导入一个python到代码块中来辅助实现。

from collections import deque  # 将队列对象导入到代码块中# 采纳while循环的形式来进行数据的初始化list_ = []  # 初始化一个list列表用于存放数据元素k = 1  # 初始化k = 1,用于实现while循环while k < 20:  # 退出判断条件,这里取19个元素    list_.append(k)  # 向列表中增加数据元素    k = k + 1  # 循环元素递增print(list_)  # 打印查看以后的lsit数据列表# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]# 生成了数据当前,而后将列表数据元素放到队列对象中。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猜数字游戏,间接开玩...

手把手教你做一个数据图表生成器(附源码)...

动静指针时钟:利用pyqt5制作指针钟表显示实时工夫

python 日志中最亮的仔,是喜爱的花里胡哨吖...

哈撒给,英雄联盟全皮肤下载器来了...