산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

Python은 목록에서 중복을 제거합니다.


목록은 정수, 단어, 값 등이 될 수 있는 다양한 Python 개체를 포함하는 컨테이너입니다. 다른 프로그래밍 언어의 배열과 동일합니다.

따라서 여기에서는 주어진 목록에서 중복을 제거할 수 있는 다양한 방법을 살펴보겠습니다.

이 자습서에서는 다음을 배우게 됩니다.

설정을 사용하여 목록에서 중복 제거

목록에서 중복을 제거하려면 내장 함수 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-loop를 사용하여 목록에서 중복 제거

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 첫 번째 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]

요약


python

  1. 파이썬 데이터 유형
  2. 파이썬 연산자
  3. 파이썬 통과 문
  4. 파이썬 함수 인수
  5. Python range() 함수:Float, List, For 루프 예제
  6. Python 목록 이해, 추가, 정렬, 길이 [예]
  7. Python Average:Python에서 목록의 AVERAGE를 찾는 방법
  8. 예제가 있는 Python 목록 count()
  9. Python LIST에서 요소 제거 [clear, pop, remove, del]
  10. 예제가 있는 Python 목록 index()