Python 구현 목록 에서 중복 요 소 를 삭제 하 는 세 가지 일반적인 방법 분석
목록 에 중복 요 소 를 삭제 하도록 목록 을 지정 합 니 다.
listA = ['python',' ',' ',' ',' ',' ',' ',' ',' ',' ']
방법 1.목록 에 정렬 을 호출 하고 끝 에서 두 요 소 를 차례대로 비교 하 며 중복 요 소 를 만나면 삭제 합 니 다.그렇지 않 으 면 포인터 가 왼쪽으로 이동 하여 상기 과정 을 반복 합 니 다.
def deleteDuplicatedElementFromList(list):
list.sort();
print("sorted list:%s" % list)
length = len(list)
lastItem = list[length - 1]
for i in range(length - 2,-1,-1):
currentItem = list[i]
if currentItem == lastItem:
list.remove(currentItem)
else:
lastItem = currentItem
return list
방법 2.임시 목록 을 설정 하여 결 과 를 저장 하고 처음부터 원래 목록 을 옮 겨 다 닙 니 다.예 를 들 어 임시 목록 에 현재 요소 가 없 으 면 추가 합 니 다.
def deleteDuplicatedElementFromList2(list):
resultList = []
for item in list:
if not item in resultList:
resultList.append(item)
return resultList
방법 3.python 에서 집합 요소 의 유일한 특징 을 이용 하여 목록 을 집합 으로 바 꾸 고 목록 으로 돌아 갑 니 다.
def deleteDuplicatedElementFromList3(listA):
#return list(set(listA))
return sorted(set(listA), key = listA.index)
실행 결과:
print(deleteDuplicatedElementFromList(listA))
#sorted list:['python', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
#['python', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
print(deleteDuplicatedElementFromList2(listA))
#['python', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
print(deleteDuplicatedElementFromList3(listA))
#['python', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
분석:방법 1.논리 가 복잡 하고 임시 변수 저장 값 은 메모 리 를 소모 하 며 반환 결 과 는 원래 목록 순 서 를 파괴 하고 효율 이 가장 떨어진다.
방법 2,append 방법 을 직접 호출 하여 제자리 에서 목록 을 수정 하고 논리 가 뚜렷 하 며 효율 이 그 다음 이다.
방법 3,극도로 간결,python 원생 방법 사용 효율 이 가장 높다.
PS:여기 서 몇 가지 중복 도 구 를 제공 하여 참고 하여 사용 할 수 있 습 니 다.
온라인 중복 제거 도구:
http://tools.jb51.net/code/quchong
온라인 텍스트 중복 도구:
http://tools.jb51.net/aideddesign/txt_quchong
더 많은 파 이 썬 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.