집합 자료형 만드는 방법
집합 자료형은 `set()`을 이용해 생성할 수 있습니다. 사용 방법은 `set(리스트 또는 문자열 등…)`입니다.
예시
> set([1, 2, 2, 3])
{1, 2, 3}
> set(“hello”)
{‘e’, ‘h’, ‘l’, ‘o’}특징
집합 자료형의 가장 큰 특징은 중복을 허용하지 않는다는 점입니다. 위 예시처럼 `set()`을 이용해 집합 자료형으로 만든 경우, 1번 예시에서는 ‘2’가 2번 예시에서는 ’l’이 하나씩 빠져 있습니다.
또 다른 특징으로는 순서가 없다는 점입니다. 2번 예시를 보면 순서가 섞여 있는 모습을 볼 수 있습니다. 따라서 집합 자료형은 리스트나 튜플과 달리 인덱스를 이용해 값을 가져올 수 없습니다.
활용
이러한 집합 자료형의 특징을 이용해 중복된 항목을 제거하는 필터 역할로 사용할 수 있습니다.
집합 자료형의 연산
설명을 위해 다음과 같이 집합 자료형의 변수 s1, s2를 정의하겠습니다.
s1 = set([1, 2, 3, 4])
s2 = set([3, 4, 5, 6])
교집합
교집합은 `&`를 이용하여 구할 수 있습니다.
> s1 & s2
{3, 4}합집합
합집합은 `|`를 이용하여 구할 수 있습니다.
> s1 | s2
{1, 2, 3, 4, 5, 6}차집합
차집합은 `-`를 이용하여 구할 수 있습니다.
> s1 - s2
{1, 2}이 외의 함수들
집합에 값을 추가하고 싶다면 `add()` 함수를 이용할 수 있습니다.
s = set([1, 2, 3])
s.add(4)
print(s)
# {1, 2, 3, 4}
만약 집합에 값을 여러 개 추가하고 싶다면 `update()` 함수를 이용하면 됩니다.
s = set([1, 2, 3])
s.update([4, 5, 6])
print(s)
# {1, 2, 3, 4, 5, 6}
값을 추가하는 것 이외에 특정 값을 제거하고 싶다면 `remove()` 함수를 이용하면 됩니다.
s = set([1, 2, 3])
s.remove(1)
print(s)
# {2, 3}참고
https://docs.python.org/ko/3/library/stdtypes.html?highlight=set#set
'Python' 카테고리의 다른 글
| [Python] 파이썬 all() 사용 방법 (0) | 2023.08.17 |
|---|---|
| [Python] isdigit() 사용 방법 (0) | 2023.08.15 |
| [Python] List 사용 방법 (0) | 2023.08.13 |
| [Python] enumerate() 함수 사용 방법 - 인덱스와 요소를 동시에! (0) | 2023.08.08 |
| [Python] 틸트 ~ (물결표) 연산자로 회문(palindrome) 문제 푸는 방법 (0) | 2023.08.07 |