[python] dictionary, set (자료형)

hamingu·2021년 4월 17일
2

dict, set 자료형의 공통점

  • 2 자료형 모두 {} 형태로 감싸진다.
  • dict = {"a" : "b", "c" : "d"}
    set = {1,2,3,4}
    # dict와 set 모두 값을 {}로 감싸고 있음. 
  • 두 자료형 모두 key의 중복 값을 허용하지 않는다.
  • #dict 예시
    dict = {"a" : "b", "c" : "d"}
    
    dict["a"] = "e" 
    print(dict)
    
    {"a" : "e", "c" : "d"}
    #"a" : "e"가 추가되는 게 아닌 기존의 "a" key의 value 값이 "e"로 변경
    
    #set 예시
    set = {1,2,3,4}
    
    set.update([4,5])
    print(set)
    
    {1,2,3,4,5}
    #{1,2,3,4}의 값을 가지고 있는 set에 4,5값을 추가했지만 출력된 값은 {1,2,3,4,5}로 중복 값을 허용하지 않는다는 걸 보여줌

    dict와 set의 차이점

  • dict는 key와 value로 이루어져 있지만 set은 key 값만 가지고 있다.
  • dict의 key값은 immutable한 형태이나, set의 key값은 mutable할 수 있다.

  • set 활용

    set은 교집합, 차집합, 합집합 등을 구할 때 매우 유용하다.

    set1 = set([1,2,3,4,5])
    set2 = set([4,5,6,7,8])
    
    set1 & set2
    {4,5} # &기호를 사용하여 교집합을 구할 수 있다.
    
    set1 - set2
    {1,2,3} # -기호를 사용하여 차집합을 구할 수 있다.
    
    set1 | set2
    {1,2,3,4,5,6,7,8} # |기호를 이용하여 합집합을 구할 수 있다.

    dict 활용

    dict는 특정 데이터에 대응하는 정보를 매칭할 때 사용된다.

    kbo_teamplayer = {"기아타이거즈" : ["양현종","윤석민"], "두산 베어스" : ["박건우","허경민"]}
    
    위와 같이 key값을 표현하는 value들을 대응할 때 사용할 수 있으며 value값은 리스트 형태로 여러 값을 전달할 수 있다.

    ✔결론

    set과 dict는 {}와 그 안의 key값이 포함된다는 점의 유사성은 있으나
    dict는 key와 value값을 모두 가지고 있다는 점 그리고 dict의 key값은 immutable 하다는 점에서 set과의 차이가 있다.

    이 차이로 인해 두 자료형을 사용하는 경우가 어떻게 달라지게 될 지를 생각해보면 차이점을 명확하게 알 수 있다.

    profile
    프로그래밍구

    0개의 댓글