python3用list实现栈
工作中遇到的需求,****代表标签数据别的信息:
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实现栈相关推荐
- 老男孩python全栈开发s4_day4(老男孩-Python3.5-S14期全栈开发)
作者:赵俊 发布日期:2020/08/25 三.装饰器详解 定义: 装饰器本质是函数,用来装饰其他函数(为其他函数添加新功能) 原则:不能修改被装饰函数的源代码 不能修改被装饰函 ...
- Python的高级函数
本篇文章将介绍函数相关的几个高级用法,如创建匿名函数.递归函数.装饰器,偏函数等. 一.匿名函数 Python中,可以不用def关键字创建函数,使用lambda表达式创建匿名函数,语法格式如下 lam ...
- Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言)
Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言) 题目: 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部. pop() – 从队列首部移除元 ...
- Leetcode刷题 155题: 最小栈(基于python3和c++两种语言)
** Leetcode刷题 155题: 最小栈(基于python3和c++两种语言) ** ** 题目: ** 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. ...
- Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言)
Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言) ** 题目: ** 给你一个目标数组 target 和一个整数 n.每次迭代,需要从 list = {1,2 ...
- Python全栈工程师(Python3 所有基础内容 0-0)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想为了信仰 开局一张图 Python一个月的基础语法 基本就到这咯 接下来是数据库了 东西太多了 简单的整理一下 大 ...
- Python3实现最小栈
Python3实现最小栈 原题 https://leetcode-cn.com/problems/min-stack/ 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈 ...
- 无意苦争春,一任群芳妒!M1 Mac book(Apple Silicon)能否支撑全栈工程师的日常?(Python3/虚拟机/Docker/Redis)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_187 就像大航海时代里突然诞生的航空母舰一样,苹果把玩着手心里远超时代的M1芯片,微笑着对Intel说:"不好意思,虽然 ...
- python安装教程3.8.5-[分享栈]centos7安装python3.8.5
1.切换到root账户 2.更新yum源 yum update 中间有询问过程,直接y同意更新就好了. 3.安装依赖项 yum install zlib-devel bzip2-devel opens ...
最新文章
- POJ 1125 Stockbroker Grapevine
- 10-排序4 统计工龄 (20 分)
- 【英语学习】【English L06】U06 Banking L4 I'd like to transfer some money
- (96)FPGA时序违规案例(一)
- axure 元件_在Axure中实现波纹点击特效按钮的方法
- 【Java】MANIFEST.MF是什么
- 让 Android WebView 支持文件下载的三种解决方案
- 第1章 Ext JS快速入门示例[4/4]
- 从技术风口到行业应用,开启区块链与产业深度融合之路
- linux下编译运行驱动
- IE7、IE8、IE9、IE10后各版本的更新及差别
- 人脸识别门禁系统设计(一)
- html5点击刷新的效果,HTML5 手机屏幕下拉(下刷)动作的弹性刷新效果
- 【MSFconsole进阶】evasion(免杀模块):免杀模块使用方法,相关设置
- 常见机器学习算法适合使用的业务场景汇总(1)
- 8421 BCD码 加减校正
- 在项目中实现多数据源和读写分离的配置
- 区块链技术及应用概述
- 为什么很多人公司都在招测试开发?
- 蚂蚁森林公益合种带我种“大树”