목록에서 중복 항목을 제거하는 방법 Python
Python 목록에서 중복 항목 제거
목록은 다양한 내용을 포함하는 컨테이너입니다. Python 정수, 단어, 값 등이 될 수 있는 객체입니다. 이는 다른 프로그래밍 언어의 배열과 동일합니다.
따라서 여기서는 주어진 목록에서 중복 항목을 제거할 수 있는 다양한 방법을 살펴보겠습니다. Python.
방법 1) Set을 사용하여 목록에서 중복 항목을 제거합니다.
목록에서 중복 항목을 제거하려면 내장 기능을 사용할 수 있습니다 set()
. set() 메소드의 특징은 고유한 요소를 반환한다는 것입니다.
목록은 [1,1,2,3,2,2,4,5,6,2,1]입니다. 목록에는 중복 항목이 많아 제거하고 고유한 요소만 다시 가져와야 합니다. 목록은 다음에게 제공됩니다. set()
내장 기능. Later 최종 목록은 다음을 사용하여 표시됩니다. list()
아래 예와 같이 내장 함수가 있습니다.
우리가 얻는 출력은 모든 중복 요소가 제거된 고유 요소입니다.
예시
my_list = [1,1,2,3,2,2,4,5,6,2,1] my_final_list = set(my_list) print(list(my_final_list))
출력:
[1, 2, 3, 4, 5, 6]
방법 2) 임시 목록 사용
주어진 것에서 중복을 제거하려면 list
, 빈 임시 목록을 활용할 수 있습니다. 먼저 중복 항목이 있는 목록을 반복하여 임시 목록에 고유한 항목을 추가해야 합니다. Later 임시 목록은 기본 목록에 할당됩니다.
예시
다음은 임시 목록을 사용한 실제 예제입니다.
my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2] print("List Before ", my_list) temp_list = [] for i in my_list: if i not in temp_list: temp_list.append(i) my_list = temp_list print("List After removing duplicates ", my_list)
출력:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2] List After removing duplicates [1, 2, 3, 4, 5, 6]
방법 3) Dict 사용
가져오기를 통해 주어진 목록에서 중복 항목을 제거할 수 있습니다. OrderedDict
컬렉션에서. Python2.7부터 사용할 수 있습니다. OrderedDict는 키가 존재하는 순서대로 고유한 요소를 반환합니다.
목록을 활용하고 사용합시다 fromkeys()
목록에서 고유한 요소를 가져오기 위해 OrderedDict에서 사용할 수 있는 메서드입니다.
이용하기 위해 OrderedDict.fromkey()
메서드를 사용하려면 아래와 같이 컬렉션에서 OrderedDict를 가져와야 합니다.
from collections import OrderedDict
다음은 다음을 사용하여 중복 항목을 제거하는 예입니다. OrderedDict.fromkeys()
방법.
예시
from collections import OrderedDict my_list = ['a','x','a','y','a','b','b','c'] my_final_list = OrderedDict.fromkeys(my_list) print(list(my_final_list))
출력:
['a', 'x', 'y', 'b', 'c']
~ Python 3.5 이상부터는 일반 기능을 사용할 수 있습니다. dict.fromkeys()
목록에서 고유한 요소를 가져옵니다. 그만큼 dict.fromkeys()
메소드는 고유한 키를 반환하며 중복 값을 제거하는 데 도움이 됩니다.
작업을 보여주는 예 dict.fromkeys()
고유 아이템을 제공하는 목록은 다음과 같습니다.
예시
my_list = ['a','x','a','y','a','b','b','c'] my_final_list = dict.fromkeys(my_list) print(list(my_final_list))
출력:
['a', 'x', 'y', 'b', 'c']
방법 4) for 루프 사용
사용 for 루프, 중복 항목을 제거하기 위해 항목 목록을 순회합니다.
먼저 배열을 비우도록 초기화합니다. myFinallist = []
.for 루프 안에 목록의 항목이 배열에 있는지 확인을 추가합니다. myFinallist
. 항목이 존재하지 않으면 다음을 사용하여 myFinallist 배열에 항목을 추가합니다. append()
방법.
따라서 중복 항목이 발견될 때마다 해당 항목은 myFinallist 배열에 이미 존재하며 삽입되지 않습니다. 이제 아래 예에서 동일한 내용을 확인해 보겠습니다.
예시
my_list = [1,2,2,3,1,4,5,1,2,6] myFinallist = [] for i in my_list: if i not in myFinallist: myFinallist.append(i) print(list(myFinallist))
출력:
[1, 2, 3, 4, 5, 6]
방법 5) 목록 이해 사용
목록 이해는 다음과 같습니다. Python 이미 생성된 시퀀스를 사용하여 새 시퀀스(예: 목록, 사전 등)를 생성하는 데 사용되는 함수입니다. 이렇게 하면 긴 루프를 줄이고 코드를 더 쉽게 읽고 유지 관리할 수 있습니다.
주어진 목록에서 중복된 항목을 제거하기 위해 목록 이해를 활용해 보겠습니다.
예시
my_list = [1,2,2,3,1,4,5,1,2,6] my_finallist = [] [my_finallist.append(n) for n in my_list if n not in my_finallist] print(my_finallist)
출력:
[1, 2, 3, 4, 5, 6]
방법 6) Numpy Unique() 메소드를 사용합니다.
방법 unique()
Numpy 모듈을 사용하면 주어진 목록에서 중복 항목을 제거하는 데 도움이 됩니다.
Numpy의 첫 번째 가져오기 numpy 모듈을 사용하려면 다음 단계를 따라야 합니다.
1단계) Numpy 모듈 가져오기
import numpy as np
단계 2) 아래와 같이 고유한 방법 내에서 중복 항목이 있는 목록을 사용하십시오. 출력은 다음을 사용하여 목록 형식으로 다시 변환됩니다. tolist()
방법.
myFinalList = np.unique(my_list).tolist()
단계 3) 마지막으로 아래와 같이 목록을 인쇄합니다.
print(myFinalList)
출력이 포함된 최종 코드는 다음과 같습니다.
import numpy as np my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = np.unique(my_list).tolist() print(myFinalList)
출력:
[1, 2, 3, 4, 5, 6]
방법 7) Pandas 메서드 사용
Pandas 모듈에는 unique()
주어진 목록에서 고유한 요소를 제공하는 메서드입니다.
Pandas 모듈을 사용하려면 다음 단계를 따라야 합니다.
단계 1) Pandas 모듈 가져오기
import pandas as pd
단계 2) 내부에 중복 항목이 있는 목록을 사용하세요. unique()
아래와 같은 방법:
myFinalList = pd.unique(my_list).tolist()
단계 3) 아래와 같이 목록을 인쇄합니다.
print(myFinalList)
출력이 포함된 최종 코드는 다음과 같습니다.
import pandas as pd my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = pd.unique(my_list).tolist() print(myFinalList)
출력:
[1, 2, 3, 4, 5, 6]
방법 8) enumerate() 및 목록 이해 사용
여기서 중복 요소를 제거하기 위해 목록 이해와 열거의 조합이 있습니다. Enumerate는 목록의 각 요소에 대한 카운터가 있는 개체를 반환합니다. 예를 들어 (0,1), (1,2) 등입니다. 여기서 첫 번째 값은 인덱스이고 두 번째 값은 목록 항목입니다. 여
각 요소가 목록에 있는지 확인하고, 있으면 목록에서 제거됩니다.
예시
my_list = [1,2,2,3,1,4,5,1,2,6] my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]] print(list(my_finallist))
출력:
[1, 2, 3, 4, 5, 6]
요약
- 목록에서 중복 항목을 제거하려면 내장 기능을 사용할 수 있습니다
set()
. 전문성의set()
메서드는 고유한 요소를 반환한다는 것입니다. - 가져오기를 통해 주어진 목록에서 중복 항목을 제거할 수 있습니다.
OrderedDictfrom
컬렉션. Python2.7부터 사용할 수 있습니다.OrderedDictdict
키가 존재하는 순서대로 고유한 요소를 반환합니다. - 중복 항목을 제거하기 위해 항목 목록을 순회하는 for 루프를 사용할 수 있습니다.
- 방법
unique()
Numpy 모듈을 사용하면 주어진 목록에서 중복 항목을 제거하는 데 도움이 됩니다. - Pandas 모듈에는
unique()
주어진 목록에서 고유한 요소를 제공하는 메서드입니다. - 목록 이해와 열거의 조합은 목록에서 중복된 요소를 제거하는 데 사용됩니다. Enumerate는 목록의 각 요소에 대한 카운터가 있는 개체를 반환합니다.