python去重复
A. python怎么去掉重复值
去掉重复值的话,那一定是安在他的系统里进行相关设置了,那么去掉的方法那就是把不要的内容给他删除掉。留下他你需要的就可以。
B. 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)
C. Python怎么从文件里的数据去重复,去重复后,再保存到文件里,把重复的数据保存出来
内容读出来通过逗号分割成一个列表,再去掉重复的,再写入到文件里面
#-*-coding:utf-8-*-
filename='data.txt'
withopen(filename,'r')asf:
content=f.read()
content=list(set(content.split(',')))
content=','.join(content)
withopen(filename,'w')as_f:
_f.write(content)
D. python list 去重复
import
a = [{'a':12,'b':21},{'a':13,'b':22},{'a':14,'b':22},{'a':15,'b':23},{'a':16,'b':22}]
d = {}
for i in a:
d.setdefault(i['b'], 0)
d[i['b']] += 1
at = .(a)
for i in at:
if d[i['b']] > 1:
a.remove(i)
print a
先把b值统计一下。然后再一个比对,如果统计个数大于1,就从列表中移出。
E. python去除文本中重复的字符串
你的数据都是一行一行的吗?
是的话这样试试
input=open("a.txt","r").read()
output=open("b.txt","w+")
patterns=[]
forlineininput.split(" "):
iflinenotinpatterns:
printline
patterns.append(line+" ")
forpatterninpatterns:
output.write(pattern)
output.close()
测试了下满足你的输入输出
F. python列表之间去重复
再取C之前 从a里面先删除 包含 2,9 这俩个元素 ,不就可以了
G. python如何去除重复行并分别统计重复的行数已有去除重复的代码
python的速度效率是不高的,如何对速度要求比较高的话建议可以用c来写。
我写了这个代码,python2.6+windows xp测试通过。
希望能帮到你~
===================================================
a=[] #初始化要用到的列表a,用于记录原始行信息
b=[] #初始化要用到的列表b,用于记录结果数据,由两项构成。前一项为行信息如“小明:90”,后一项为该行对应的出现次数如2
f1=file("1.txt", "r") #打开1.txt文件
for line in f1:
a.append(line) #将1.txt文件每一行作为一个元素,存入列表a
f1.close
for n in a: #遍历a中每一项(记为n),即1.txt中每一行
flag=1
for i in range(0,len(b)):
if n == b[i][0]: #n与列表b中的每一项对比,如果有相等的:
b[i][1]=b[i][1]+1 #那么对应的出现计数加1
flag=0
break
if flag==1: #如果前面的比对没有一个相等的,即该行是第一次出现:
b.append([n,1]) #那么在列表b中添加改行为新的一项
f2=file("2.txt", "w") #打开2.txt文件,用于输出
for n in b: #输出格式为:行信息 (tab) 出现次数 (回车)
f2.write(str(n[0][0:-1]) + "\t")
f2.write(str(n[1]) + "\n")
f2.close
print "Finished" #完成
H. 求教, Python 怎么去掉重复的词, 下面有例子。
1.如果你的txt 文件不大的话 可以直接 tmp = open('**.txt').readlines() #把内容一次性全部读取出来 是一个列表set(tmp) #这个就是把列表 去重复 然后 你可以把 这个去重后的tmp 写入到新的文件2.txt很大,那么只能一行一行的读取去重了#!/usr/bin/env python# coding=utf-8# python 2.7outfile = open('result-readline.txt', 'w') #新的文件list_1=[]for line in open('test.txt'): #老文件 tmp = line.strip() if tmp not in list_1: list_1.append(tmp) outfile.write(line)outfile.close()
I. python如何去除重复行并写入另一个文件
lines_seen=set()
outfile=open("2.txt","w")
forlineinopen("1.txt","r"):
iflinenotinlines_seen:
outfile.write(line)
lines_seen.add(line)
outfile.close()
代码
J. python 如何删除重复值
import pandas as pd,numpy as np
df=df=pd.DataFrame({'a':[1,1,3,1],'b':[2,3,1,4],'c':[0.399999,0.399998,0.399998,0.399998]})
df1=pd.concat([pd.DataFrame(np.sort(df.iloc[:,:2].values,axis=1)),df.c],axis=1).drop_plicates()
print(df1)