Python 구현 목록 에서 중복 요 소 를 삭제 하 는 세 가지 일반적인 방법 분석

이 사례 는 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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기