Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 목록에서 중복을 제거하는 방법

중복 값을 제거하는 사전을 생성하는 dict.fromkeys()를 사용하여 Python에서 중복을 제거할 수 있습니다. 목록을 집합으로 변환할 수도 있습니다. 중복이 제거된 목록을 보려면 사전을 변환하거나 목록으로 다시 설정해야 합니다.


Python에서 목록으로 작업할 때 목록에서 중복 항목을 제거하려는 시나리오가 있을 수 있습니다. 예를 들어, 귀하가 레스토랑의 이전 메뉴와 새 메뉴를 병합하는 요리사라고 가정해 보겠습니다. 두 메뉴를 결합하여 발생하는 중복을 제거할 수 있습니다.

이 튜토리얼에서는 dict.fromkeys() 사용에 대해 설명합니다. 목록을 집합으로 변환하는 메서드입니다. 데이터를 목록으로 해석할 수 있도록 이 두 가지 방법의 출력을 다시 목록으로 변환하는 방법에 대해 논의할 것입니다.

Python은 목록에서 중복 제거

Python 세트 또는 dict.fromkeys() 메서드를 사용하여 중복을 제거할 수 있습니다.

dict.fromkeys() 메서드는 목록을 사전으로 변환합니다. 사전은 중복 값을 포함할 수 없으므로 고유한 값만 있는 사전은 dict.fromkeys()에 의해 반환됩니다.

사전과 마찬가지로 집합에는 중복 값이 ​​포함될 수 없습니다. 목록을 집합으로 변환하면 모든 중복 항목이 제거됩니다.

Python은 목록에서 중복 제거:dict.fromkeys()

Python 사전은 키/값 구조에 데이터를 저장합니다. 사전은 키를 값에 매핑하고 Python에 데이터를 저장하는 쌍을 만듭니다.

Python의 사전에는 중복 키가 포함될 수 없습니다. 목록을 사전으로 변환하면 중복 값이 ​​제거됩니다. fromkeys()는 메소드가 들어옵니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

dict.fromkeys() 예제

fromkeys() 지정한 키에서 사전을 생성하는 내장 함수입니다. 사전은 중복 키를 포함할 수 없으므로 이 함수는 목록에서 중복 값을 제거합니다. 그런 다음 사전을 다시 목록으로 변환할 수 있습니다.

fromkeys() 구문 방법은 다음과 같습니다.

dictionary_name.fromkeys(keys, value)

fromkeys 키와 값이라는 두 개의 매개변수를 사용합니다. keys 매개변수는 생성하려는 새 사전의 키를 지정하는 iterable입니다. 값 매개변수는 선택사항이며 모든 키에 대한 값을 보유합니다. 이 예에서는 이 매개변수가 필요하지 않으므로 무시하겠습니다.

우리가 기존 피자 메뉴와 새로운 피자 메뉴를 하나의 큰 메뉴로 통합하는 요리사라고 가정해 보겠습니다. 새로운 메뉴에는 우리가 몇 달 동안 작업한 많은 새로운 피자가 포함되어 있습니다. 그러나 우리는 이전 메뉴에 피자를 제공하고 싶습니다. 고객에게 혼란을 줄 수 있으므로 메뉴에 중복된 항목이 표시되는 것을 원하지 않습니다.

새 메뉴에 있을 수 있는 중복 항목을 제거하려면 다음 코드를 사용할 수 있습니다.

new_menu = ['Hawaiian', 'Margherita', 'Mushroom', 'Prosciutto', 'Meat Feast', 'Hawaiian', 'Bacon', 'Black Olive Special', 'Sausage', 'Sausage']

final_new_menu = list(dict.fromkeys(new_menu))

print(final_new_menu)

코드는 중복된 요소를 제거하고 다음을 반환합니다.

['Hawaiian', 'Margherita', 'Mushroom', 'Prosciutto', 'Meat Feast', 'Bacon', 'Black Olive Special', 'Sausage']

첫 번째 줄에서 new_menu라는 Python 변수를 선언합니다. 모든 피자를 새로운 메뉴에 저장합니다. 이 목록에는 중복 값이 ​​포함되어 있습니다. 둘 다 소시지하와이어 Python 목록에 두 번 나타납니다.

dict.fromkeys()를 사용합니다. new_menu에서 사전을 만드는 방법 변하기 쉬운. 다음으로 list()를 사용합니다. 사전에서 Python 배열 또는 목록으로 데이터를 변환합니다. 코드의 마지막 줄에서 수정된 목록을 인쇄합니다.

보시다시피 저희 프로그램은 데이터에서 중복 값을 제거했으며 소시지하와이어 새 목록에 한 번 표시됩니다.

Python 목록에서 중복 제거:세트

Python 집합 객체는 순서가 없는 데이터 구조입니다. 및 색인화되지 않음 . Python에서 고유 항목의 저장소 컬렉션을 설정합니다. 목록과 달리 집합은 중복 값을 저장할 수 없습니다.

따라서 집합은 중복 항목을 저장할 수 없으므로 목록을 집합으로 변환하여 제거할 수 있습니다. Python에서 집합은 중괄호로 묶인 쉼표로 구분된 항목 목록입니다. 다음은 피자 목록을 저장하는 Python 집합의 예입니다.

pizzas = ('Margherita', 'Hawaiian', 'Mushroom', 'Meat Feast')

세트 예제를 사용하여 중복 제거

목록에서 중복 값을 제거하는 데 집합을 사용하는 방법을 설명하기 위해 위의 예를 살펴보겠습니다.

우리가 이전 메뉴와 새 메뉴를 모두 병합하려는 피자 요리사라고 가정해 보겠습니다. 그러나 이러한 메뉴 사이에 중복이 있을 수 있으므로 최종 메뉴를 만들기 전에 제거해야 합니다. 세트 접근 방식을 사용하여 이러한 중복을 제거하려면 다음 코드를 사용할 수 있습니다.

new_menu = ['Hawaiian', 'Margherita', 'Mushroom', 'Prosciutto', 'Meat Feast', 'Hawaiian', 'Bacon', 'Black Olive Special', 'Sausage', 'Sausage']

final_new_menu = list(set(new_menu))

print(final_new_menu)

중복 값을 제거한 후의 목록은 다음과 같습니다.

['Mushroom', 'Black Olive Special', 'Meat Feast', 'Bacon', 'Margherita', 'Sausage', 'Prosciutto', 'Hawaiian']

프로그램 시작 시 new_menu라는 목록을 선언합니다. 모든 피자를 새로운 메뉴에 저장합니다.

그런 다음 final_new_menu라는 변수를 선언합니다. 수정된 메뉴를 저장합니다. 이 변수는 new_menu set()을 사용하여 집합에 변수 , 그런 다음 list()를 사용하여 집합을 목록으로 다시 변환합니다. . 이 프로세스는 new_menu에서 모든 중복 값을 제거합니다. 변수.

마지막으로 프로그램은 새 메뉴를 콘솔에 인쇄합니다. 원래 목록 개체의 모든 고유한 요소가 나타납니다. 이제 고유한 목록이 있습니다.



결론

목록에서 중복 항목을 제거하는 것은 Python에서 일반적인 작업입니다. 목록에서 중복을 제거하는 데 사용해야 하는 공식적인 방법은 없습니다. 가장 일반적인 접근 방식은 fromkeys() 사전을 사용하는 것입니다. 함수를 사용하거나 데이터를 집합으로 변환합니다.

이 가이드에서는 사전 fromkeys()를 사용하는 방법에 대해 논의했습니다. 함수와 파이썬의 목록에서 중복을 제거하도록 설정합니다.

Python 프로그래밍에 대해 자세히 알아보려면 Python 학습 방법 가이드를 읽어보세요.