> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 텍스트의 한 줄씩 중복 제거를 구현하는 방법

Python에서 텍스트의 한 줄씩 중복 제거를 구현하는 방법

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-12-05 13:27:13
원래의
2032명이 탐색했습니다.

텍스트:

승격 후 각 행에는 일부 숫자가 포함됩니다. 이 숫자가 동일하면 동일한 행으로 간주되어 하나의 행만 유지됩니다.

사물:

사전과 문자열을 기준으로 잘라냅니다.

빈 사전을 만듭니다.

텍스트를 읽고 각 줄의 앞부분을 잘라냅니다. 텍스트를 읽는 과정에서 사전을 반복하여 검색합니다. 찾을 수 없으면 사전에 해당 줄을 씁니다. 그렇지 않으면 행이 사전에 기록되었으며(즉, 중복 행이 나타남) 더 이상 사전에 기록되지 않음을 의미합니다. 이는 중복 행에 대해 하나의 행만 유지하려는 목적을 달성합니다.

원문은 다음과 같습니다.

/promotion/232 utm_source
/promotion/237 LandingPage/borrowExtend/? ;
/promotion/25113 LandingPage/mhd
/promotion/25113 LandingPage/mhd
/promotion/25199 com/LandingPage
/promotion/254 LandingPage/mhd/mhd4/? ;
/promotion/259 LandingPage/ydy/? ;
/promotion/25113 LandingPage/mhd
/promotion/25199 com/LandingPage
/promotion/25199 com/LandingPage
로그인 후 복사

절차는 다음과 같습니다.

line_dict_uniq = dict()
with open('1.txt','r') as fd:
for line in fd:
key = line.split(' ')[0]
if key not in line_dict_uniq.values():
line_dict_uniq[key] = line
else:
continue
print line_dict_uniq 
print len(line_dict_uniq)
# 这里是打印了不重复的行(重复的只打印一次),实际再把这个结果写入文件就可以了,
# 就不写这段写入文件的代码了
로그인 후 복사

위 프로그램의 실행 효율성은 상대적으로 낮으므로 다음과 같이 변경하면 개선됩니다.

line_dict_uniq = dict()
with open('1.txt','r') as fd:
for line in fd:
key = line.split(' ')[0]
if key not in line_dict_uniq.keys():
line_dict_uniq[key] = line
else:
continue
print line_dict_uniq
print len(line_dict_uniq)
로그인 후 복사

위 내용은 한 줄씩 중복된 텍스트를 제거하기 위해 편집자가 소개하는 Python입니다. 궁금한 사항이 있으면 메시지를 남겨주시면 편집자가 시간에 맞춰 답변해 드리겠습니다. 또한 Script House 웹사이트를 지원해 주신 모든 분들께 감사의 말씀을 전하고 싶습니다!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿