Python을 처음 사용합니다.중복을 제거하고, 발견 된 경우 특정 문자를 줄에서 제거합니다.
파일 줄 중복 및 특정 문자를 제거하고 싶습니다.
예를 들어나는 다음과 같은 파일이 있습니다
A 786 65534 65534 786 786 786 786 10026/AS4637 19151 19151 19151 19151 19151 19151 10796/AS13706
B 786 65534 65534 786 786 786 3257 3257 3257 1257 1257 1257 1257 1257 1257 1257 49272
내가 원하는 원하는 출력입니다 :
A 786 10026 4637 19151 10796 13706
B 786 3257 1257 49272
두 가지, 여기에 제거 할 # 65000의 요구가 먼저 모든 줄 일 . 둘째로, 때로는 두 개의 문자를 '/'로 나눈 값을 얻습니다. 그리고 원하지 않는 #AS와 같은 바람직하지 않은 문자가 있습니다.
나는 다음과 같은 코드가 있습니다
import os
p = './testing/test.txt'
fin = open(p, 'r')
uniq = set()
for line in fin.readlines():
word = line.rstrip().split(' ')[3:]
if not word in uniq:
uniq.add(word)
print word
ips.close()
내가 받고 있어요 :
TypeError: unhashable type: 'list'
라는 단어가 I이 할 수있는보다 큰 65000 경우 내가 심지어 확인할 수 없습니다 볼 수 있듯이을 set()을 통해 중복을 제거하지 마십시오
도와주세요.
word = line.rstrip().split(' ')[3:]
분할 기능은 단어의 목록을 반환 :
는 정말 여기
'65534'중 하나를 유지하고 싶다고 가정하고 있습니까? – flornquake
65000 이상은 필요 없습니다. 희망이 도움이됩니다. – user2802697