[Python] Set(집합)

2024. 10. 7. 17:34·파이썬

파이썬 Set(집합) 사용법

파이썬에서 Set은 중복되지 않은 값을 저장하는 자료형으로, 흔히 집합이라고 부릅니다. 리스트와 비슷해 보이지만, 몇 가지 차이점이 있어요.


Set의 주요 특징

  1. 순서가 없다: Set에 저장된 요소들은 순서가 없습니다.
  2. 중복을 허용하지 않는다: 동일한 값을 여러 번 저장할 수 없습니다.
  3. 요소를 변경할 수 없다: Set의 요소 자체는 변경할 수 없지만, 요소를 추가하거나 삭제할 수 있습니다.

Set 생성 방법

Set은 {} 중괄호를 사용해 만들 수 있으며, 리스트를 set() 함수로 변환할 수도 있습니다.

s1 = {5, 4, 3, 2, 1}  # 중괄호를 이용해 집합 생성
s2 = [1, 2, 3, 4, 5]  # 리스트
s3 = set(s2)  # 리스트를 Set으로 변환

요소 추가

  • .add() 메소드를 사용해 단일 요소를 추가할 수 있습니다.
  • .update([]) 메소드는 여러 개의 요소를 한 번에 추가할 때 사용됩니다.
s1 = {3, 2, 1}
s1.add(4)  # 원소 4 추가
s1.update([5, 6, 7])  # 여러 원소 추가
print(s1)  # {1, 2, 3, 4, 5, 6, 7}

요소 제거

  • .remove()는 특정 요소를 제거하지만, 요소가 없을 경우 오류를 발생시킵니다.
  • .discard()는 특정 요소가 없더라도 오류가 발생하지 않습니다.
s1 = {1, 2, 3, 4}
s1.remove(4)
s1.discard(3)
s1.discard(5)  # 요소가 없어도 오류 없음

집합 연산

파이썬의 Set 자료형을 이용해 교집합, 합집합, 차집합 등의 집합 연산을 쉽게 수행할 수 있습니다.

  • 교집합: 두 집합의 공통 요소. & 또는 .intersection() 사용.
  • 합집합: 두 집합의 모든 요소. | 또는 .union() 사용.
  • 차집합: 한 집합에만 있는 요소. - 또는 .difference() 사용.
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}

print(s1 & s2)  # 교집합: {3, 4}
print(s1 | s2)  # 합집합: {1, 2, 3, 4, 5, 6}
print(s1 - s2)  # 차집합: {1, 2}

'파이썬' 카테고리의 다른 글

[Python] filter() 함수  (1) 2024.10.14
[Python] any() / all()  (0) 2024.10.08
[Python] map() 함수  (0) 2024.10.05
[Python] 람다 / lambda 함수  (0) 2024.10.04
[Python] datetime / 현재 날짜 가져오기  (1) 2024.10.03
'파이썬' 카테고리의 다른 글
  • [Python] filter() 함수
  • [Python] any() / all()
  • [Python] map() 함수
  • [Python] 람다 / lambda 함수
audwndl
audwndl
audwndl 님의 블로그 입니다.
  • audwndl
    audwndl 님의 블로그
    audwndl
    • 분류 전체보기 (59)
      • 파이썬 (31)
      • 이게뭐야? (1)
      • 왜안돼? (1)
      • 프로그래머스 (26)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
audwndl
[Python] Set(집합)
상단으로

티스토리툴바