当前位置:首页 » 编程语言 » python文件去重

python文件去重

发布时间: 2022-03-14 17:48:43

python如何去除重复行并写入另一个文件

问题描述的并不准确

要看重复行是连续的还是非连续的

如果是连续的, 可以考虑缓存一行, 然后把后面的行与缓存的行比较, 如果不是,那就得缓存所有不同的行, 每次读一行就要与所有缓存过的行做比较了,伪代码如下:

#coding=utf-8
fin=open("input.txt","r")
fout=open("output.txt","a+")
bufferedline=""
while(finand(line=fin.readline())!=bufferedline):
fout.write(line)
fin.close()
fout.close()

如果缓存行不连续的话,伪代码如下:

#coding=utf-8
fin=open("input.txt",'r')
fout=open('output.txt','a+')
bufferedlines=[]
while(finand(line=fin.readline())):
i=0;
for(i=0;i<len(bufferedlines);++i):
if(line==bufferedlines[i]):
break;
ifi==len(bufferedlines):
bufferedlines.append(line)
fout.write(line)

❷ Python如何对列表进行去重

1.使用set的特型,python的set和其他语言类似,是一个无序不重复元素集
orgList=[1,0,3,7,7,5]
#list()方法是把字符串str或元组转成数组
formatList=list(set(orgList))
print(formatList)
结果:
[0,1,3,5,7]
2.使用keys()方法
orgList=[1,0,3,7,7,5]
#list()方法是把字符串str或元组转成数组
formatList=list({}.fromkeys(orgList).keys())
print(formatList)
结果:
[0,1,3,5,7]
上面两种方法的问题是:结果是没有保持原来的顺序。
3.循环遍历法
orgList=[1,0,3,7,7,5]
formatList=[]
foridinorgList:
ifidnotinformatList:
formatList.append(id)
print(formatList)
结果:
[1,0,3,7,5]
这样的代码不够简洁
4.按照索引再次排序
orgList=[1,0,3,7,7,5]
formatList=list(set(orgList))
formatList.sort(key=orgList.index)
print(formatList)
结果:
[1,0,3,7,5]

❸ python-列表-元素去重

>>>re.sub("(.)\1+","\1","avvvcctaa")
'avcta'

❹ python,list如何去重

通过set来去重

>>>l=[1,2,3,4,5,2,1,3,45,3,21,12,4]
>>>set(l)
set([1,2,3,4,5,12,45,21])
>>>printlist(set(l))
[1,2,3,4,5,12,45,21]
>>>

❺ python如何去除重复行并写入另一个文件

lines_seen=set()
outfile=open("2.txt","w")
forlineinopen("1.txt","r"):
iflinenotinlines_seen:
outfile.write(line)
lines_seen.add(line)
outfile.close()

代码

❻ python中列表如何去重

可以利用set去重

代码如下:

#coding=utf-8

li=[1,2,3,4,2,1,3,0]#列表
li2=set(li)
print(li2)

❼ python中实现两个txt文档的去重功能(即去掉第一个文档中和第二文档相同的行)

# -*- coding: utf-8 -*-
#
# python 2.7

fp1 = file('', 'r')
fp2 = file('', 'r')
fp3 = file('', 'w')

d1 = {}
d2 = {}

isFirst = True

for line in fp1:
if not isFirst:
d1[hash(line)] = line
else:
isFirst = False

fp1.close()

isFirst = True
for line in fp2:
if not isFirst:
d2[hash(line)] = line
else:
isFirst = False

fp2.close()

diff = set(d1.keys()) - set(d2.keys())
for key in diff:
fp3.write(d1[key])
fp3.close()

❽ Python文件中如何除去重复行 前一行与后一行进行对比的形式

除开读写文件,去重:

去重后的list=list(set(原list))

❾ python 将文件内容去重,然后写出到txt

可以字典套字典来用

book={
'a':{'A':1},
'b':{'B':0},
'c':{'C':1},
'd':{'D':0}
}

bookname='d'
bookauthor='D'
bookpay=1

printbook

#先判是否有这本书
ifbooknameinbook:
#判断是否是该作者的
ifbookauthorinbook[bookname]:
#再判断是否付费1付费,0未付费
ifbook[bookname][bookauthor]==0:
ifbookpay==1:
book[bookname][bookauthor]=1
else:#不是该作者
book[bookname][bookauthor]=bookpay
else:#没有这本书
book[bookname][bookauthor]=bookpay

printbook

#总体来说就是这么个意思,可以参考修改自己的代码
#自己动手丰衣足食~
热点内容
搭建服务器租用电信的怎么样 发布:2025-01-16 05:12:32 浏览:48
phpmysql源码下载 发布:2025-01-16 05:12:31 浏览:210
python安装依赖包 发布:2025-01-16 05:11:45 浏览:995
澳门云主机品牌服务器 发布:2025-01-16 05:06:55 浏览:768
数据库设计主要内容 发布:2025-01-16 05:02:02 浏览:12
存储过程如何修改 发布:2025-01-16 05:01:55 浏览:633
照片压缩包 发布:2025-01-16 04:56:56 浏览:742
手机存储用到多少最好 发布:2025-01-16 04:56:19 浏览:781
ftp站点不能启动 发布:2025-01-16 04:55:31 浏览:54
pythonip合法性 发布:2025-01-16 04:48:52 浏览:75