반응형
Python 코딩 목록에서 중복을 제거하는 방법
목록은 정수, 단어, 값 등이 될 수 있는 다양한 Python 개체를 포함하는 컨테이너입니다. 다른 프로그래밍 언어의 배열과 동일합니다. 따라서 여기에서는 주어진 목록에서 중복을 제거할 수 있는 다양한 방법을 살펴보겠습니다. 이 자습서에서는 다음을 배우게 됩니다.
Set을 사용하여 목록에서 중복 제거
목록에서 중복 항목을 제거하려면 내장 함수 set()를 사용할 수 있습니다. set() 메서드의 특징은 고유한 요소를 반환한다는 것입니다. 목록이 있습니다. [1,1,2,3,2,2,4,5,6,2,1]. 목록에는 고유한 요소만 제거하고 다시 가져와야 하는 많은 중복 항목이 있습니다. 목록은 set() 내장 함수에 제공됩니다. 나중에 아래 예제와 같이 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]
임시 목록을 사용하여 목록에서 중복 제거
주어진 목록에서 중복을 제거하기 위해 빈 임시 목록을 사용할 수 있습니다. 이를 위해 먼저 중복 항목이 있는 목록을 반복하고 고유 항목을 임시 목록에 추가해야 합니다. 나중에 임시 목록이 기본 목록에 할당됩니다. 다음은 임시 목록을 사용하는 작업 예입니다.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]
Dict를 사용하여 목록에서 중복 제거
컬렉션에서 OrderedDict를 가져와서 주어진 목록에서 중복을 제거할 수 있습니다. python2.7부터 사용할 수 있습니다. OrderedDict는 키가 있는 순서대로 고유한 요소를 반환하도록 처리합니다. 목록을 사용하고 OrderedDict에서 사용할 수 있는 fromkeys() 메서드를 사용하여 목록에서 고유한 요소를 가져옵니다. 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']
for 루프를 사용하여 목록에서 중복 제거
for 루프를 사용하여 항목 목록을 탐색하여 중복 항목을 제거합니다. 먼저 배열을 비어 있도록 초기화합니다(예: myFinallist = [].for 루프 내에서 목록의 항목이 myFinallist 배열에 있는지 확인을 추가합니다. 항목이 없으면 append() 메서드를 사용하여 myFinallist 배열에 항목을 추가합니다. 따라서 중복 항목이 발견될 때마다 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]
목록 이해를 사용하여 목록에서 중복 제거
목록 이해는 이미 생성된 시퀀스를 사용하여 새 시퀀스(예: 목록, 사전 등)를 만드는 데 사용되는 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]
Numpy unique() 메서드를 사용하여 목록에서 중복을 제거합니다.
Numpy 모듈의 unique() 메소드는 주어진 목록에서 중복을 제거하는 데 도움이 될 수 있습니다. Numpy first import 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]
Pandas 메서드를 사용하여 목록에서 중복 제거
Pandas 모듈에는 주어진 목록에서 고유한 요소를 제공하는 unique() 메서드가 있습니다. Pandas 모듈을 사용하려면 다음 단계를 따라야 합니다. 1단계) 가져오기 팬더 모듈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]
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 루프를 사용할 수 있습니다.
- Numpy 모듈의 unique() 메소드는 주어진 목록에서 중복을 제거하는 데 도움이 될 수 있습니다.
- Pandas 모듈에는 주어진 목록에서 고유한 요소를 제공하는 unique() 메서드가 있습니다.
- 목록 이해와 열거의 조합은 목록에서 중복 요소를 제거하는 데 사용됩니다. 열거는 목록의 각 요소에 대한 카운터가 있는 개체를 반환합니다.
반응형
'Coding' 카테고리의 다른 글
예제가 있는 Python의 type() 및 isinstance() (0) | 2022.03.30 |
---|---|
예제가 있는 Python Timeit() (0) | 2022.03.29 |
코딩을 배우면서 돈을 버는 방법 (나는 첫해 5천 달러를 벌었어!) (0) | 2022.03.27 |
애플 주가 전망 :: 아이폰 매출 증가로 인한 주가 상승 기회 (0) | 2022.03.26 |
부자가 더 부자가 되는 이유 (0) | 2022.03.25 |
댓글