txt去重
目录
txt去重
让我解释一下代码的逻辑:
for a in [a.strip('\n') for a in list(f_read)]:
txt去重
f_read = open(r'./1.txt', 'r', encoding='utf-8')
f_write = open(r'./2.txt', 'w',encoding='utf-8')
data = set()
for a in [a.strip('\n') for a in list(f_read)]:if a not in data:data.add(a)f_write.write(a + '\n')
f_read.close()
f_write.close()
print('完成')
这段代码是一个Python脚本,用于从一个文本文件中去除重复的数据,并将去重后的数据写入另一个文本文件。脚本使用了一个集合(set)来存储已经出现过的数据,以便快速检查重复项。
让我解释一下代码的逻辑:
1. `f_read = open(r'./1.txt', 'r', encoding='utf-8')`: 打开待处理的文本文件,采用只读模式,使用UTF-8编码读取文本。
2. `f_write = open(r'./2.txt', 'w',encoding='utf-8')`: 打开新的文本文件,用于写入去重后的数据,采用写入模式。
3. `data = set()`: 创建一个空的集合`data`,用于存储已经出现过的数据。
4. `for a in [a.strip('\n') for a in list(f_read)]:`: 读取文件中的每一行,去除每行开头和结尾的换行符,并逐个循环处理。
5. `if a not in data:`: 检查当前行的内容是否在`data`集合中,如果不在,说明是一个新的数据,可以加入到集合中。
6. `data.add(a)`: 将新的数据加入到`data`集合中,以便后续判断是否重复。
7. `f_write.write(a + '\n')`: 将去重后的数据写入新的文本文件,并在每行末尾加上换行符,以保持和原文件相同的格式。
8. `f_read.close()`: 关闭待处理的文件。
9. `f_write.close()`: 关闭写入的新文件。
10. `print('完成')`: 输出“完成”表示处理过程结束。
注意:这段代码使用了Python的文件操作和集合功能,确保在使用时文件路径和文件名是正确的,以免出现错误。另外,如果原始文件很大,可能会导致脚本占用大量内存,处理大文件时需要注意。
for a in [a.strip('\n') for a in list(f_read)]:
`for a in [a.strip('\n') for a in list(f_read)]:` 这行代码是一个列表推导式,用于从文件对象 `f_read` 读取每一行数据,并去除每行开头和结尾的换行符 `\n`。
让我们逐步解释这行代码的含义:
1. `list(f_read)`: 这部分将文件对象 `f_read` 转换为一个列表,其中每个元素是文件的一行。通过`list()`函数,我们从文件对象中读取所有行,并将其存储在一个列表中。
2. `a.strip('\n')`: 这是对列表中的每个元素 `a` 进行操作,使用 `strip('\n')` 方法去除每个元素 `a` 的开头和结尾的换行符 `\n`。
3. `[a.strip('\n') for a in list(f_read)]`: 这是一个列表推导式,它对文件中的每一行进行去除换行符的操作,并将结果生成一个新的列表。
4. `for a in [a.strip('\n') for a in list(f_read)]:`: 这是一个 for 循环,遍历刚刚生成的新列表。每次循环中,`a` 变量会取得列表中的一个元素(即文件中的一行数据),并执行后续的处理。
所以,这行代码的作用是将文件对象 `f_read` 中的每一行数据去除开头和结尾的换行符,并用一个列表存储这些处理后的数据。之后,脚本就会对这个新生成的列表中的每个元素进行去重处理,确保在写入新文件时没有重复的数据。
相关文章:
txt去重
目录 txt去重 让我解释一下代码的逻辑: for a in [a.strip(\n) for a in list(f_read)]: txt去重 f_read open(r./1.txt, r, encodingutf-8) f_write open(r./2.txt, w,encodingutf-8) data set() for a in [a.strip(\n) for a in list(f_read)]:if a not in …...
系统集成测试与验收
功能性测试:测试系统应提供的每一个功能和安全性限制,检查系统是否已 正常实现所有功能。 连通性测试:测试网络上任意站点间是否能够相互传输数据,测试各个终端 能否登录中心服务器,并访问数据库,对数据库…...
ElementPlus文件上传 ,在上传前钩子中判断文件是否为图片
在ElementPlus中,可以使用beforeUpload属性来指定上传文件之前的钩子函数,在该函数中可以对文件进行判断并进行相关操作。 首先,在data中定义一个isImage变量来记录文件是否为图片,初始值为false。然后,在钩子函数中判…...
涂鸦智能获Matter Non-VID Scoped PAA资质 助力开发者拥抱Matter生态
今年5月,全球化IoT开发者平台涂鸦智能(NYSE: TUYA,HKEX: 2391)正式生成Tuya Matter PAA密钥根,并于7月,成功通过了连接标准联盟和第三方MA机构审查而上线。自此,涂鸦正式成为全球同时提供支持Ma…...
nsqd的架构及源码分析
文章目录 一 nsq的整体代码结构 二 回顾nsq的整体架构图 三 nsqd进程的作用 四 nsqd启动流程的源码分析 五 本篇博客总结 在博客 nsq整体架构及各个部件作用详解_YZF_Kevin的博客-CSDN博客 中我们讲了nsq的整体框架,各个部件的大致作用。如果没看过的&…...
LeetCode解法汇总344. 反转字符串
目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描述: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数…...
【C语言基础】数组的高级应用(上)
文章目录 一、数组的概念1.1 基本理解1.2 从内存角度理解数组1.3 从编译器角度理解数组 二、数组的定义2.1 第一种:完全初始化2.2 第二种:不完全初始化 三、访问数组的两种方式3.1 第一种:数组的方式依次访问3.2 第二种:指针的方式…...
面试题:bind、call、apply 区别?如何实现一个 bind?
面试题:bind、call、apply 区别?如何实现一个 bind? 一、call()代码描述: 二、apply()代码描述: 三、bind()—最重要代码描述: 四、call、apply、bind 总结 一、call() 代码描述: 二、apply() 代码描述&am…...
【SpringBoot学习笔记】01.第一个程序HelloWorld
项目创建方式:使用 IDEA 直接创建项目 1、创建一个新项目 2、选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现 3、填写项目信息 4、选择初始化的组件(初学勾选 Web 即可) 5、填写项目路径 6、等待项目…...
【学会动态规划】买卖股票的最佳时机含手续费(16)
目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…...
网络原因导致git下载报错处理办法
如下,git clone时报错: RPC failed; curl 18 transfer closed with outstanding read data remaining 5670 bytes of body are still expected fetch-pack: unexpected disconnect while reading sideband packet early EOF fetch-pack: invalid index…...
APP后端选择什么服务器
对于很多刚入行的朋友来说,不清楚应该选择什么样的服务器提供商,是选择传统的IDC, 租用服务器租用机柜,还是选择现在很火的云服务器呢?在本文中,通过对比传统的IDC和云服务,简单阐述一下服务器的选择。 …...
什么是反射机制,反射机制的应用场景
文章目录 反射机制介绍获取 Class 对象的四种方式代码实例静态编译和动态编译反射机制优缺点反射的应用场景 反射机制介绍 JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能…...
Visual Studio 2019 实用功能设置(背景颜色,代码字体及行号设置)
前言 Visual Studio 2019 安装包的下载教程、安装教程 教程 博主博客链接:https://blog.csdn.net/m0_74014525 关注博主,后期持续更新系列文章 系列文章 第一篇:Visual Studio 2019 详细安装教程(图文版) 第二篇&…...
简述Mysql索引
一、索引概述 1.1 索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。 这些数据结…...
windows .gitignore 加入文件名后 依然可以从git status中看到文件问题
最近在学git,对着b站的视频操作,结果很简单的添加.gitignore文件操作,up主的正常隐藏,我的却一直出问题。 百思不得其解,网上各种啥啥啥清缓存都没讲到点上。 最后发现是.gitignore文件有问题,windows默认…...
召唤神龙打造自己的ChatGPT
在之前的两篇文章中,我介绍了GPT 1和2的模型,并分别用Tensorflow和Pytorch来实现了模型的训练。具体可以见以下文章链接: 1. 基于Tensorflow来重现GPT v1模型_gzroy的博客-CSDN博客 2. 花费7元训练自己的GPT 2模型_gzroy的博客-CSDN博客 有…...
裝修公司同室內設計公司有咩分別?
很多裝修業主都會有裝修公司師傅會不會「出圖」的這個疑問。 出圖是指室內設計的各種圖,是設計師跟戶主和裝修師傅溝通裝修的工具,亦都係施工、驗收的證明。通常齊全的圖通常只有設計公司才可以完整提供例如平面圖、3D效果圖等等。 由於室內設計公司會…...
android oaid
Oaid获取接入流程 移动智能设备标识公共服务平台 AndroidID、IMEI、OAID获取 oaid_sdk_1.1.0的aar 随着Google对隐私的重视以及Android10的逐渐普及,获取设备的唯一标识越来越来难,在Android10以前,Android设备唯一标识包含IMEI、AndroidID、…...
利用XSS在线平台获取用户cookie
//XSS弹窗: <script>alert("xss")</script> XSS漏洞: //XSS弹窗: <script>alert("xss")</script> //XSS在线平台: <ScRipT sRc//7ix7kigpovxdbtd32fuspgffmtmufo3wwzgnzaltddewtb…...
AI智能体架构设计:从成本黑洞到价值引擎的解耦之道
1. 从成本黑洞到价值引擎:为什么你的AI智能体架构正在吞噬预算又到了季度技术复盘会,财务那边递过来的云账单和工程人力成本,是不是又让你倒吸一口凉气?你看着报表上那个名为“AI智能体平台”的项目,它的资源消耗曲线几…...
Topit:macOS窗口置顶神器,让多任务处理效率翻倍
Topit:macOS窗口置顶神器,让多任务处理效率翻倍 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 你是否经常在macOS上同时处理多个任务时…...
基于XGBoost与SHAP的分子气味预测:从特征工程到可解释性分析
1. 项目概述与核心价值在香水设计、食品风味工业乃至环境监测领域,一个核心且持久的挑战是:如何从分子的化学结构出发,准确预测其气味?这不仅仅是化学家或调香师的直觉游戏,更是一个复杂的、高维度的模式识别问题。传统…...
诚信标签工厂端解决方案 适配俄标 CRPT 体系一体化技术方案
俄罗斯诚实标签依托 CRPT 体系执行强制管控,各类出口货品必须完成 Data Matrix 编码采集、格式转换、多层包装数据绑定,数据合规后方可通关流通。美妆食品、日化建材、玩具五金等品类包装形态差异较大,人工采集方式普遍存在识别精度不足、批量…...
告别虚频困扰:用VASP+DynaPhoPy搞定高温材料声子谱的保姆级教程
高温材料声子谱计算实战:从虚频困境到非谐解决方案 引言:虚频问题的根源与突破路径 在计算材料学领域,声子谱分析是理解材料动力学稳定性和热力学性质的核心手段。然而许多研究者都遭遇过这样的困境:对实验合成的材料进行简谐近似…...
ARM架构CONSTRAINED UNPREDICTABLE行为解析与应对
1. ARM架构中的CONSTRAINED UNPREDICTABLE行为解析在处理器架构设计中,UNPREDICTABLE行为通常指架构规范未明确定义的执行结果,可能导致不可预期的系统状态。ARM架构通过引入CONSTRAINED UNPREDICTABLE机制,将这类行为限制在特定范围内&#…...
WarcraftHelper终极指南:魔兽争霸3兼容性问题一站式解决方案
WarcraftHelper终极指南:魔兽争霸3兼容性问题一站式解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为《魔兽争霸3》在现代电…...
CPU架构启发的智能仓储布局优化实践
1. 仓库布局优化的核心挑战与创新机遇在物流仓储领域,拣货环节通常占据运营成本的55%-65%,而其中约50%的时间消耗在无效行走路径上。传统矩形仓库布局虽然易于规划和施工,但其正交的通道设计导致拣货员需要频繁进行90度转向,这种&…...
谷氨酸发酵过程的软测量建模【附模型】
✨ 长期致力于软测量、谷氨酸发酵、动力学模型、支持向量机、高斯过程、变量选择、异常状态研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)多阶段高斯…...
【python】ImportError: DLL load failed while importing QtWidgets: 找不到指定的程序。重新安装后搞定
文章目录前言一、PyQt6引用后报错二、使用步骤总结前言 想做个好看的界面,引用了PyQt6,却产生了新问题。 pip install pyqt6-tools,优先做这个动作进行修复。 一、PyQt6引用后报错 python里引用: from PyQt6.QtWidgets import…...
