03 Python Collection - (5) set

처어리·2024년 1월 24일

python

목록 보기
26/36
post-thumbnail

05. set

집합 ( set )

  • 중복이 없는 요소로 구성된 collection 입니다.
  • 순서나 key 가 사용되지 않고, 값 만이 저장되어 있기 때문에 어떠한 요소가 있고 없고만 알 수 있습니다.
  • set 은 { } 를 사용해서 생성됩니다.
  • set 은 순서가 없기 때문에, 값 확인시 순서가 바뀔 수 있습니다.
  • set 생성

    • set_1 = { } -> Error. { } 만을 사용해서 빈 set 을 생성할 수 없습니다.

    set_1 = {1, 2, 3, 4, 5}
    print(f"set_1 {set_1} - type : {type(set_1)}")
    print()

    set_2 = set()
    print(f"set_2 {set_2} - type : {type(set_2)}")
    print()



    • set() 생성자에 하나의 문자열을 저장하면 한글자씩 분리되어 set 에 저장됩니다.

      stn_set = set("word")
      print(f"stn_set {stn_set}")
      print()


    • 중복 값이 있으면 하나만 저장됩니다.

    str_set = set("Good")
    print(f"str_set {str_set}")
    print()

    value_list = [10, 20, 30, 10]
    print(f"value_list {value_list}")
    value_set = set(value_list)
    print(f"value_set {value_set}")
    print()



집합 연산

s1_set = { 1, 3, 5, 7, 9}
s2_set = { 3, 8, 9, 1, 5}
print(f"s1_set {s1_set}")
print(f"s2_set {s2_set}")
print()

  • 교집합

    i_data = s1_set & s2_set
    print(f"s1_set, s2_set 교집합 {i_data}")
    i_data2 = s1_set.intersection(s2_set)
    print(f"s1_set, s2_set 교집합 {i_data2}")
    print()

  • 합집합

    u_data = s1_set | s2_set
    print(f"s1_set, s2_set 합집합 {u_data}")
    u_data2 = s1_set.union(s2_set)
    print(f"s1_set, s2_set 합집합 {u_data2}")
    print()

  • 차집합

    d_data = s1_set - s2_set
    print(f"s1_set, s2_set 차집합 {d_data}")
    d_data2 = s1_set.difference(s2_set)
    print(f"s1_set, s2_set 차집합 {d_data2}")
    print()



추가

no_set = {1, 2, 3, 4, 5}
print(f"no_set {no_set}")
print()

  • .add( value )

    no_set.add(7)
    print(f"no_set {no_set}")
    print()

  • .update( ) : 여러개의 값 추가

    no_set.update([8, 9, 10])
    print(f"no_set {no_set}")
    print()

특정 값 제거

  • .remove( value )

    no_set.remove(7)
    print(f"no_set {no_set}")
    print()

    • # no_set.remove(6) # 없는 값을 삭제하면 Error

전체 삭제

  • .clear()

    no_set.clear()
    print(f"no_set {no_set}")
    print()

0개의 댓글