방법 1:
목록 개체의 sort() 메서드를 사용하여 목록을 정렬하고, 마지막 요소부터 시작하여 목록을 반복하고, 인접한 두 요소가 동일한지 확인합니다!
def methodOne(list): list.sort() lenList = len(list) lastItem = list[lenList-1] for i in range(lenList-2,-1,-1): if list[i] == lastItem: list.remove(list[i]) else: lastItem = list[i] return list
방법 2:
임시 목록을 정의하고, 루프에서 반복되는 요소가 임시 목록에 없으면 추가하고, 드디어 임시 목록을 반환합니다!
def methodTwo(list): tempList = [] for i in list: if not i in tempList: tempList.append(i) return tempList
방법 3:
lists=[20,12,34,12,24,34,55,27] print list(set(lists))
1. 방법 1 친척 두 번째 방법의 경우 정렬 및 할당과 같은 추가 작업이 더 있습니다. Python에서는 변수가 불변이기 때문에 요소가 반복되고 비교될 때마다 새 지역 변수를 생성하고 값을 할당하고 원래 변수를 삭제하는 작업이 수행됩니다. 동시에 더 많은 메모리가 필요합니다. 정렬 작업, 상대 위치를 파괴합니다.
2. 방법 2는 작업을 위한 임시 목록을 생성하며 목록은 요소가 추가될 때마다 원래 목록에 인덱스와 값만 추가하므로 방법 1보다 효율적입니다. !
3. 세 번째 방법은 의심할 여지 없이 세 가지 방법 중 가장 효율적입니다(코드 단순성 및 운영 효율성 측면 모두). set()은 내장 데이터 유형인 "set 유형"입니다. 순차적이며 가치는 독특합니다! 따라서 set() 실행 결과는 set으로 변환하여 중복된 요소를 직접 제거한 후, list()가 set을 다시 목록 형식으로 변환하는 것입니다.
그러나 set()은 정렬 순서를 파괴합니다. 정렬을 유지하려면 list(set(lists))를 sorted(set(lists),key=lists.index)로 변경할 수 있습니다. 🎜>