在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 日志中最亮的仔,是喜欢的花里胡哨吖...

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

万能的list列表,python中的堆栈、队列实现全靠它相关推荐

  1. 详解Python中pyautogui库的最全使用方法

    这篇文章主要介绍了详解Python中pyautogui库的最全使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值 在使用Python做脚本的话,有两个库可以使用,一个 ...

  2. Python中pyautogui库的最全使用方法

    Python中pyautogui库的最全使用方法 Python中pyautogui库的最全使用方法 常用操作 鼠标操作 键盘操作 弹窗操作 图像操作 参考资料 Python中pyautogui库的最全 ...

  3. python tab键自动补全_设置python中TAB键自动补全方法

    设置python中TAB键自动补全方法 一.创建自动补全脚本如下: vi /tmp/python/tab.py #!/usr/bin/python # python tab file import s ...

  4. python 中的堆栈 用列表实现

    利用python中列表的方法实现数据结构中堆栈的"后进先出"的性质 列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出) ...

  5. python堆栈跟踪_什么是python中的堆栈跟踪?

    堆栈回溯显示程序运行中某个点的调用堆栈的状态.实际上,当程序中发生错误时,您通常会遇到这些问题. 所述调用栈是栈帧的堆叠(或列表).每个堆栈帧对应于子进程的调用(在Python中,函数或[list] ...

  6. python中怎么比较两个列表-python中如何比较两个列表不同

    通过不断的测试发现,python实现高效快速比对两个列表的不同,可借助python集合set()提供的集合运算进行操作,此方式效率非常高. 而在java语言中,如下方法中方法1相比方法2(集合运算)的 ...

  7. python中怎么比较两个列表-python中如何比较两个列表

    cmp() 方法用于比较两个列表的元素. cmp()方法语法:cmp(list1, list2) 参数: list1 -- 比较的列表.list2 -- 比较的列表. 返回值: 如果比较的元素是同类型 ...

  8. python中几种队列Queue用法区别

    python中使用到的队列模块大致有三个: 1.from queue import Queue 此模块适用于线程间通信,但不能用于进程间通信. 示例代码1:   [注意:此时代码存在错误!!!] im ...

  9. python中怎么比较两个列表-python中比较两个列表的实例方法

    cmp() 方法用于比较两个列表的元素. cmp()方法语法: cmp(list1, list2) 参数: list1 -- 比较的列表.list2 -- 比较的列表. 返回值: 如果比较的元素是同类 ...

最新文章

  1. 记一次有惊无险的 JVM 优化经历!
  2. xhtmlrenderer 将html转换成pdf,完美css,带图片,手动分页,解决内容断开的问题
  3. Python学习笔记四(Python OS模块)
  4. Vue 脚手架生成的项目结构分析||Vue 脚手架的自定义配置
  5. 【2021最新版】如何clean或者install Maven项目——IntelliJ IDEA系列教程
  6. SAP CRM呼叫中心end按钮的实现逻辑
  7. android实现页面的跳转
  8. PG中的几种数据类型转换方式
  9. GitHub#python#:ppt(批量)转换为pdf
  10. [Contest20180328]coin
  11. 【NumPy基础】100道numpy练习——Apprentice篇
  12. python 字符串交集_集合 (Set) | 一山不容二虎的 Python 数据类型
  13. delphi csdn论坛技巧收藏贴
  14. OneNote for win10 登录不了
  15. JS中使数组倒序排列
  16. 苹果id注册显示无法连接服务器失败原因,apple id连接服务器失败怎么办
  17. 需要点智商才能看懂的恐怖故事,你能看懂多少个?
  18. 怎样用计算机求立方根的近似数,(教案3)6.2 立方根
  19. javascript的基本概念
  20. poj1061青蛙的约会

热门文章

  1. 大西洋帝国第一季/全集Boardwalk Empire1迅雷下载
  2. #HTML:<dialog> #method=“dialog“ @FDDLC
  3. NSString使用stringWithFormat拼接的冷知识
  4. TensorFlow应用实战-1- 课程介绍及项目展示
  5. 诺基亚确实可以当榔头用,验证了
  6. 斯蒂夫乔布斯在斯坦福大学的演讲全文(转载)
  7. 【Java实战】微信Native扫码支付(主扫)开发详解
  8. msq_table's methods
  9. SpringBoot中condition注解的使用
  10. 2021年资料员-岗位技能(资料员)考试题及资料员-岗位技能(资料员)试题及解析