ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 11. 사전(Dictionary)
    Programming/Python 2021. 7. 8. 19:22

     

    [1] 사전의 선언 및 정의

    dictionary = {"a" : 3, "b" : 2}
    print(dictionary["a"]) # 3
    print(dictionary["b"]) # 2

     

    - 사전의 정의 및 선언 방법이다. 리스트 에선 []을 사용하고, 사전에선 {}를 사용한다.

    - 사전은 {key : value, key : value}로 구성된다.

    - key와 value는 문자열, 정수, 실수, Boolean형 등 어떠한 자료형으로 구성하여도 무방하다.

    - 위 코드의 print문을 보면 알 수 있듯이, 사전에서의 key는 마치 리스트 또는 문자열에서의 index 역할과 같다.

     

     

    [2] 사전 관련 함수 및 메소드

    dictionary = {1 : "A", 2 : "B"}
    
    print(dictionary[1]) # A
    print(dictionary.get(1)) # A
    print(dictionary[3]) # error
    print(dictionary.get(3)) # None
    print(dictionary.get(3,"없음")) # 없음
    
    print(1 in dictionary) # True
    print(3 in dictionary) # False
    
    del dictionary[1]
    print(dictionary) # {2: 'B'}
    dictionary[5] = "C"
    print(dictionary) # {2: 'B', 5: 'C'}
    
    print(dictionary.keys()) # dict_keys([2, 5])
    print(dictionary.values()) # dict_values(['B', 'C'])
    print(dictionary.items()) # dict_items([(2, 'B'), (5, 'C')])
    
    dictionary.clear()
    print(dictionary) # {}

     

    ① get

    get 메소드는, 사전의 key를 통해 값에 접근하는 역할을 수행한다. 이는 값에 접근하는 기본적인 방법과 굉장히 유사하지만, 하나의 다른점이 있다.

     

    기본적인 접근법은 입력한 key가 사전 내에 없다면 error가 발생한다. 하지만, get을 통해 key로 값에 접근한다면 key가 사전 내에 없다고 하더라도 error가 발생하지 않고, None이 출력된다. 참고로, None이 아닌 다른 문구를 출력하고 싶다면 dictionary.get(3,"없음")등으로 get을 사용한다.

     

    ② key in dictionary

    입력한 key가 dictionary 내에 있다면 True를, 그렇지 않다면 False를 반환한다.

     

    ③ 추가와 삭제

    - 추가 : 사전에서의 추가는 단순히 dictionary[key] = value 와 같은 방식을 사용한다. 만약, key가 중복된다면 최근에 입력한 value로 업데이트 된다.

     

    -삭제 : 사전에서의 삭제는 del 또는 pop을 사용한다. del의 사용 방법은 위 예시코드와 같고, pop은 리스트에서의 pop에서 index 대신 key를 사용한다.

     

    ④ 출력

    - key들만 출력 : print(dictionary.keys())

    - value들만 출력 : print(dictionary.values())

    - 둘 다 출력 : print(dictionary.items())

     

    ⑤ clear

    리스트에서의 clear과 동일하다. 사전 내 모든 값들을 지워준다.

     

     

     

    *본 글은 코딩 유튜버 '나도코딩'님의 무료강의를 바탕으로 내용을 정리 및 추가한 글입니다.

    https://www.youtube.com/watch?v=kWiCuklohdY&t=5934s 

     

    'Programming > Python' 카테고리의 다른 글

    [Python] 13. 집합(set)  (0) 2021.07.08
    [Python] 12. 튜플(tuple)  (0) 2021.07.08
    [Python] 10. 리스트(List)  (0) 2021.07.08
    [Python] 9. 탈출문자  (0) 2021.07.07
    [Python] 8. 문자열 포맷팅  (0) 2021.07.07
Designed by Tistory.