工作中遇到的需求,****代表标签数据别的信息:

D01  ********  1  ********

D01  ********  2  ********

D01  ********  3  ********

D01  ********  4  ********

D02  ********  1  ********

D02  ********  2  ********

......后面还有好多。

要变成:

D01  ********  4  ********

D01  ********  3  ********

D01  ********  2  ********

D01  ********  1  ********

D02  ********  2  ********

D02  ********  1  ********

......

相当于把标签(红色字体)是一样的,进栈,再出栈,出栈的结果放进list里。

#!/usr/bin/env python3
#-*- coding:utf-8 -*-def main():passif __name__ == "__main__":f = open("info", 'r')list_info = []list_temp = []last_field = "D01"for line in f:new_field = line.split()[0]if new_field == last_field:list_temp.append(line)else:while(list_temp):list_info.append(list_temp.pop())last_field = new_fieldlist_temp.append(line)while(list_temp):list_info.append(list_temp.pop())for item in list_info:print(item, end='')f.close()main()

最后一个标签的数据需要单独出栈,追加到最终的list里。

转载于:https://www.cnblogs.com/donggongdechen/p/8686027.html

python3用list实现栈相关推荐

  1. 老男孩python全栈开发s4_day4(老男孩-Python3.5-S14期全栈开发)

    作者:赵俊            发布日期:2020/08/25 三.装饰器详解 定义: 装饰器本质是函数,用来装饰其他函数(为其他函数添加新功能) 原则:不能修改被装饰函数的源代码 不能修改被装饰函 ...

  2. Python的高级函数

    本篇文章将介绍函数相关的几个高级用法,如创建匿名函数.递归函数.装饰器,偏函数等. 一.匿名函数 Python中,可以不用def关键字创建函数,使用lambda表达式创建匿名函数,语法格式如下 lam ...

  3. Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言)

    Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言) 题目: 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部. pop() – 从队列首部移除元 ...

  4. Leetcode刷题 155题: 最小栈(基于python3和c++两种语言)

    ** Leetcode刷题 155题: 最小栈(基于python3和c++两种语言) ** ** 题目: ** 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. ...

  5. Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言)

    Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言) ** 题目: ** 给你一个目标数组 target 和一个整数 n.每次迭代,需要从 list = {1,2 ...

  6. Python全栈工程师(Python3 所有基础内容 0-0)

    ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰  开局一张图 Python一个月的基础语法 基本就到这咯    接下来是数据库了 东西太多了  简单的整理一下 大 ...

  7. Python3实现最小栈

    Python3实现最小栈 原题 https://leetcode-cn.com/problems/min-stack/ 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈 ...

  8. 无意苦争春,一任群芳妒!M1 Mac book(Apple Silicon)能否支撑全栈工程师的日常?(Python3/虚拟机/Docker/Redis)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_187 就像大航海时代里突然诞生的航空母舰一样,苹果把玩着手心里远超时代的M1芯片,微笑着对Intel说:"不好意思,虽然 ...

  9. python安装教程3.8.5-[分享栈]centos7安装python3.8.5

    1.切换到root账户 2.更新yum源 yum update 中间有询问过程,直接y同意更新就好了. 3.安装依赖项 yum install zlib-devel bzip2-devel opens ...

最新文章

  1. POJ 1125 Stockbroker Grapevine
  2. 10-排序4 统计工龄 (20 分)
  3. 【英语学习】【English L06】U06 Banking L4 I'd like to transfer some money
  4. (96)FPGA时序违规案例(一)
  5. axure 元件_在Axure中实现波纹点击特效按钮的方法
  6. 【Java】MANIFEST.MF是什么
  7. 让 Android WebView 支持文件下载的三种解决方案
  8. 第1章 Ext JS快速入门示例[4/4]
  9. 从技术风口到行业应用,开启区块链与产业深度融合之路
  10. linux下编译运行驱动
  11. IE7、IE8、IE9、IE10后各版本的更新及差别
  12. 人脸识别门禁系统设计(一)
  13. html5点击刷新的效果,HTML5 手机屏幕下拉(下刷)动作的弹性刷新效果
  14. 【MSFconsole进阶】evasion(免杀模块):免杀模块使用方法,相关设置
  15. 常见机器学习算法适合使用的业务场景汇总(1)
  16. 8421 BCD码 加减校正
  17. 在项目中实现多数据源和读写分离的配置
  18. 区块链技术及应用概述
  19. 为什么很多人公司都在招测试开发?
  20. 蚂蚁森林公益合种带我种“大树”

热门文章

  1. php静态地图api,静态图API | 百度地图API SDK
  2. 策略模式在jdk Arrays 中使用
  3. Mybatis select元素返回List
  4. 电脑:电脑弹窗广告三个解决方法,欢迎收藏!
  5. 后端技术:JDK 8 Stream 数据流效率测试
  6. 互联网公司忽悠员工的黑话,套路太深了。。。
  7. 10个常见的JS语言错误总汇
  8. 重磅!GitHub官方App官宣发布了
  9. CSS实现垂直居中的5种方法
  10. Linux 进程、父进程、子进程