ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [python] 세트
    python 2025. 5. 23. 13:51

    세트

    Python의 세트(set)는 중복을 허용하지 않고, 순서가 없는 집합 자료형입니다.

    수학에서의 집합(set) 개념과 유사하며, 빠른 검색, 중복 제거, 집합 연산 등에 매우 유용합니다.

     

    📌 특징

    • 중괄호 {} 또는 set() 함수로 생성
    • 중복된 값 자동 제거
    • 순서 없음 (인덱싱 불가능)
    • 변경 가능(mutable): 값 추가/삭제 가능
    • 내부 요소는 변경 불가능한(immutable) 자료형만 가능

     

    ✅ 예시

    fruits = {"apple", "banana", "orange", "apple"}  # 중복된 "apple"은 하나만 저장됨
    print(fruits)  # {'banana', 'apple', 'orange'}

     

    🔧 주요 기능

    # 요소 추가
    fruits.add("grape")
    
    # 요소 제거
    fruits.remove("banana")  # 없는 값 제거 시 에러 발생
    fruits.discard("kiwi")   # 없는 값 제거해도 에러 없음
    
    # 집합 연산
    a = {1, 2, 3}
    b = {3, 4, 5}
    
    print(a | b)  # 합집합: {1, 2, 3, 4, 5}
    print(a & b)  # 교집합: {3}
    print(a - b)  # 차집합: {1, 2}
    print(a ^ b)  # 대칭차집합: {1, 2, 4, 5}

     

    🧠 사용 예

    • 리스트에서 중복 제거
    my_list = [1, 2, 2, 3, 3, 3]
    unique = set(my_list)  # {1, 2, 3}

     

    • 회원 중복 검사, 태그 필터링, 공통 관심사 찾기 등에 사용

     

    실습

    # 집합 (set)
    # 중복 안됨, 순서 없음
    my_set = {1,2,3,3,3}
    print(my_set)

     

    {1, 2, 3}

     

    Java = {"유재석", "김태호", "양세형"}
    python = set(["유재석", "박명수"])
    
    # 교집합 (Java & python을 모두 할 수 있는 개발자)
    print(Java & python)
    print(Java.intersection(python))

     

    {'유재석'}
    {'유재석'}

     

    # 합집합 (Java를 할 수 있거나 python 할 수 있는 개발자)
    print(Java | python)
    print(Java.union(python))

     

    {'김태호', '유재석', '박명수', '양세형'}
    {'김태호', '유재석', '박명수', '양세형'}

     

    # 차집합 (Java는 할 수 있지만 python은 할 줄 모르는 개발자)
    print(Java - python)
    print(Java.difference(python))

     

    {'양세형', '김태호'}
    {'양세형', '김태호'}

     

    # python을 할 줄 아는 사람이 늘어남
    python.add("김태호")
    print(python)

     

    {'김태호', '박명수', '유재석'}

     

    # Java를 까먹었어요
    Java.remove("김태호")
    print(Java)

     

    {'양세형', '유재석'}

    'python' 카테고리의 다른 글

    [python] if (조건문)  (0) 2025.05.23
    [python] 자료구조의 변경  (0) 2025.05.23
    [python] 튜플  (0) 2025.05.23
    [python] 사전  (0) 2025.05.23
    [python] 리스트  (0) 2025.05.23
Designed by Tistory.