종종 데이터로 작업할 때 중복 값을 포함할 수 없고 값을 변경할 수 없는 데이터 목록을 저장하고 싶을 것입니다. 예를 들어, 식료품점에서 구매 ID 목록을 만드는 경우 각 ID가 고유하고 다른 사람이 목록의 값을 변경할 수 없도록 하고 싶을 것입니다.
이것이 Python set 객체가 들어오는 곳입니다. 집합은 고유한 값만 포함할 수 있는 정렬되지 않은 항목 모음입니다.
이 자습서에서는 예제를 참조하여 Python 집합의 기본 사항과 집합에서 값 추가 및 제거와 같은 일반적인 작업을 수행하는 방법에 대해 설명합니다.
파이썬 세트
Python 내장 집합 데이터 구조는 수학의 집합 개념과 유사합니다.
Python 세트는 0개 이상의 요소를 포함할 수 있으며 세트의 각 요소에 대해 정의된 순서가 없습니다. 세트 내에 저장된 모든 요소는 고유하므로 중복이 존재할 수 없으며 세트의 각 개별 값을 변경할 수 없습니다.
집합의 개별 값은 변경할 수 없지만 집합 자체는 변경할 수 있습니다. 이는 세트에서 항목을 추가하거나 제거할 수 있음을 의미합니다.
집합 구조는 집합에 저장한 데이터로 작업하는 데 사용할 수 있는 수학적 연산이 많기 때문에 유용합니다.
파이썬 세트 생성
Python에서 집합은 쉼표로 구분된 항목(또는 "요소") 목록으로 정의됩니다. 그런 다음 목록은 중괄호({})로 묶입니다.
참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.
부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.
Python 세트는 항목 수에 제한 없이 저장할 수 있으며 세트 내의 각 항목은 다른 데이터 유형을 사용할 수 있습니다. 따라서 집합은 정수 또는 문자열 또는 문자열, 부동 소수점 및 튜플을 모두 저장할 수 있습니다. 그러나 집합은 다른 집합, 사전 또는 목록과 같은 변경 가능한 데이터 유형을 저장할 수 없습니다.
한 학생이 영어 수업을 위해 제출한 숙제 목록을 저장하는 집합을 만들고 싶다고 가정합니다. 다음 코드를 사용하여 이 세트를 만들 수 있습니다.
assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7", "End of Topic Review #2"} print(assignments)
코드는 다음을 반환합니다.
{'워크시트 #5', '워크시트 #4', '워크시트 #7', '주제 검토 끝 #2'}
코드에서 assignments
라는 세트를 정의했습니다. 네 가지 값이 있습니다. 그런 다음 콘솔에 할당 세트의 내용을 인쇄했습니다. 세트는 특정 순서로 항목을 저장하지 않기 때문에 값이 임의의 순서로 반환되는 것을 볼 수 있습니다.
세트 변경
집합을 만든 후에는 집합에 있는 항목의 값을 변경할 수 없습니다. 그러나 세트에 항목을 추가하거나 세트에서 제거할 수 있습니다.
세트에 항목 추가
Python 세트에 요소를 추가하려면 add()
방법. 학생이 Worksheet #8
을 제출했다고 가정해 보겠습니다. 그리고 학생이 제출한 과제를 추적하기 위해 세트를 업데이트하고 싶습니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.
assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7", "End of Topic Review #2"} assignments.add("Worksheet #8") print(assignments)
코드는 다음을 반환합니다.
{'워크시트 #8', '워크시트 #4', '워크시트 #5', '주제 검토 끝 #2', '워크시트 #7'}
보시다시피 Worksheet #8
우리 세트에 추가되었습니다.
또한 세트에 여러 항목을 추가하려면 update()
를 사용할 수 있습니다. 방법. update()
이 메서드는 집합에 추가하려는 항목 목록을 매개변수로 수락한 다음 해당 항목을 집합에 추가합니다.
한 학생이 워크시트 #8과 #9를 모두 제출했다고 가정합니다. 이 코드를 사용하여 전달되는 이러한 새 할당을 반영하도록 집합을 변경할 수 있습니다.
assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7", "End of Topic Review #2"} assignments.update(["Worksheet #8", "Worksheet #9"]) print(assignments)
코드는 다음을 반환합니다.
{'워크시트 #9', '주제 검토 #2 끝', '워크시트 #8', '워크시트 #7', '워크시트 #4', '워크시트 #5'}
이제 우리 세트에는 두 개의 새로운 값이 포함됩니다. Worksheet #8
및 Worksheet #9
.
세트에서 요소 제거
세트에서 요소를 제거하려면 discard()
를 사용할 수 있습니다. 또는 remove()
.
discard()
함수는 집합에서 항목을 제거하고 항목이 집합에 없으면 아무 것도 반환하지 않습니다. remove()
함수는 집합에서 항목을 제거하려고 시도하고 해당 항목이 없으면 오류가 발생합니다.
Worksheet #9
를 제거한다고 가정해 보겠습니다. 과제를 다시 수행하라는 요청을 받았기 때문에 학생의 숙제 기록에서. 다음 코드를 사용하여 그렇게 할 수 있습니다.
assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'} assignments.discard("Worksheet #9") print(assignments)
코드는 다음을 반환합니다.
{'주제 검토 #2 끝', '워크시트 #5', '워크시트 #4', '워크시트 #8', '워크시트 #7'}
Worksheet #9
값이 우리 세트에서 제거되었습니다. discard()
를 사용하여 이 작업을 수행했습니다. 방법.
세트 지우기
세트를 지우려면 clear()
를 사용할 수 있습니다. 방법. 학년말이고 더 이상 정보를 저장할 필요가 없기 때문에 학생의 과제 기록을 지우고 싶다고 가정합니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.
assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'} assignments.clear() print(assignments)
우리 코드는 {}를 반환합니다. 이것은 우리의 빈 집합을 반영합니다.
세트 길이 반환
한 세트에 몇 개의 항목이 저장되어 있는지 알아보려면 len()
를 사용할 수 있습니다. 방법.
한 학생이 제출한 숙제 수를 알고 싶다고 가정해 보겠습니다. 다음 코드를 사용하여 확인할 수 있습니다.
assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'} print(len(assignments))
6. 코드에서 먼저 assignments
라는 집합을 선언합니다. . 그런 다음 len()
을 사용합니다. assignments
에 얼마나 많은 항목이 저장되어 있는지 알아내는 메소드 세트.
Python 집합 작업
집합을 사용하여 데이터를 저장하는 이점 중 하나는 집합이 수학적 집합 연산을 지원한다는 것입니다. 세 가지 주요 집합 작업이 어떻게 작동하는지 살펴보겠습니다.
이러한 집합 작업은 변경되지 않습니다. 세트의 내용. 대신 기존 집합에 대해 계산을 수행합니다.
연합 설정
union()
메서드를 사용하면 두 집합에서 모든 요소 집합을 만들 수 있습니다.
병합하려는 학생의 과제 목록이 두 개 있다고 가정합니다. 한 목록에는 학생의 숙제에 대한 데이터가 포함되어 있고 다른 목록에는 학생이 완료한 에세이 과제 목록이 포함되어 있습니다. 다음 코드를 사용하여 이러한 목록을 병합할 수 있습니다.
assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7"} essays = {"Essay #1", "Essay #2"} homework = assignments.union(essays) print(homework)
코드는 다음을 반환합니다.
{'워크시트 7번', '에세이 #2', '워크시트 #4', '에세이 #1', '워크시트 #5'}
우리 코드에서는 union()
을 사용합니다. 두 세트를 병합하는 방법입니다. 새로 병합된 집합의 값을 homework
변수에 할당합니다. . 그런 다음 homework
의 값을 출력했습니다. 변하기 쉬운.
또는 다음 코드를 사용할 수도 있습니다.
assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7"} essays = {"Essay #1", "Essay #2"} print(assignments | essays)
"|" 연산자는 합집합 집합 연산을 수행합니다. 코드는 병합된 집합을 반환합니다.
{'에세이 2번', '워크시트 #4', '워크시트 #5', '에세이 #1', '워크시트 #7'}
교차로 설정
intersection()
메소드를 사용하면 두 세트 간에 공통적인 요소 목록을 생성할 수 있습니다.
한 학생이 제출한 에세이 목록과 발행된 에세이 목록이 있다고 가정합니다. 어떤 학생이 아직 제출하지 않은 에세이를 알고 싶다면 교차 방법을 수행할 수 있습니다.
사용할 코드는 다음과 같습니다.
essays_handed_in = {"Essay #1", "Essay #2"} essays_issued = {"Essay #1", "Essay #2", "Essay #3"} due = essays_handed_in.intersection(essays_issued) print(due)
코드는 다음을 반환합니다.
{'에세이 1번', '에세이 2번'}
이 예에서는 intersection()
을 사용합니다. essays_handed_in
에 있는 모든 요소를 찾는 방법 및 essays_issued
세트. 교차 연산의 결과를 due
변수에 할당합니다. , 그런 다음 콘솔에 인쇄합니다.
또한 &
를 사용할 수 있습니다. 연산자를 사용하여 교차 집합 연산을 수행합니다. 따라서 이전의 두 세트에서 교차를 수행하려면 다음 코드를 사용할 수 있습니다.
essays_handed_in = {"Essay #1", "Essay #2"} essays_issued = {"Essay #1", "Essay #2", "Essay #3"} print(essays_handed_in & essays_issued)
코드는 다음을 반환합니다.
{'에세이 1번', '에세이 2번'}
차이 설정
difference()
메소드를 사용하면 다른 세트에는 없는 한 세트에 있는 요소를 찾을 수 있습니다.
한 학생이 제출했지만 아직 채점되지 않은 모든 에세이 목록을 생성하고 싶다고 가정해 보겠습니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.
essays_handed_in = {"Essay #1", "Essay #2"} essays_graded = {"Essay #1"} final = essays_handed_in.difference(essays_graded) print(final)
코드는 다음을 반환합니다.
{"에세이 #2"}
이 코드에서는 difference()
를 사용했습니다. essays_handed_in
의 차이점을 찾는 방법 및 essays_graded
세트. 또는 -
를 사용할 수 있습니다. 연산자는 다음과 같습니다.
essays_handed_in = {"Essay #1", "Essay #2"} essays_graded = {"Essay #1"} print(essays_handed_in - essays_graded)
코드는 다음을 반환합니다.
{"에세이 #2"}
동일한 결과가 코드에서 반환됩니다. 그러나 difference()
를 사용하는 대신 set 메소드에서 -
를 사용했습니다. 연산자는 두 집합 간의 차이를 찾기 위해 검사를 수행합니다.
결론
Python 집합 데이터 구조를 사용하면 정렬되지 않은 항목 컬렉션을 저장할 수 있습니다.
세트의 각 항목은 고유해야 하므로 중복이 있을 수 없으며 세트의 내용은 세트에 추가되면 변경할 수 없습니다.
이 자습서에서는 예제를 참조하여 Python 집합의 기본 사항과 집합에서 제공하는 주요 작업에 대해 설명했습니다.
우리는 세트로 할 수 있는 일의 표면만 보았을 뿐입니다. 아직 탐색해야 할 것이 더 많이 있습니다. 하지만 세트를 효과적으로 사용하기 위해 알아야 할 주요 기술은 다루었습니다. 이제 Python set()
사용을 시작할 준비가 되었습니다. 전문가와 같은 방법!
Python은 데이터 분석에서 웹 개발에 이르기까지 전 세계의 전문 개발 환경에서 사용됩니다. 다운로드 무료 Career Karma 앱 오늘 Python 프로그래밍의 경력 경로에 대해 자세히 알아보세요.