파이썬 사전(Dictionary)

2021. 8. 22. 14:50·SW개발/Python
반응형

사전(Dictionary)

  • key와 value의 쌍으로 구성된다.

  • 중괄호로 묶는다.

    {
      키1:값1,
      키2:값2,
      ...
    }
  • 키를 통해 값을 반환받을 수 있다.

    dic = { 'boy': '소년', 'school': '학교', 'book':'책' }
    print(dic['boy'])
    print(dic['book'])
    
    ''' stdout
    소년
    책
    '''
  • 존재하지 않는 키를 입력하면 예외가 발생한다.

    dic = { 'boy': '소년', 'school': '학교', 'book':'책'}
    print(dic.get('boy'))
    print(dic.get('girl'))
    print(dic.get('girl', '사전에 없는 단어입니다.'))
    
    ''' stdout
    소년
    None
    사전에 없는 단어입니다.
    '''

메서드

메서드 설명
사전[키] 키의 값을 반환, 없으면 예외 발생
.get(키) 키에 대한 값을 반환하고, 존재하지 않는 키에 대해서는 None이나 두 번째 인자 반환
.keys() 키 목록 리턴
.values() 값 목록 리턴
.items() (키, 값) 튜플 목록 리턴
del 사전[키] 기존 엔트리 삭제
list(사전) 사전의 키들만 리스트로 변환하여 리턴
.update(사전2) 사전2를 원본에 추가한다. 중복된 키는 업데이트한다.
  • 예시

    dic = { 'boy': '소년', 'school': '학교', 'book':'책'}
    dic['boy'] = '남자아이' # 기존값 수정
    dic['girl'] = '소녀' # 새로운 엔트리 추가
    del dic['book'] # 기존 엔트리 삭제
    print(dic)
    
    ''' stdout
    {'boy': '남자아이', 'school': '학교', 'girl': '소녀'}
    '''
  • keys, values, items 메서드를 통해 반환받은 값은 따로 형변환을 해야 적당히 사용할 수 있다.

    dic = { 'boy': '소년', 'school': '학교', 'book':'책'}
    print(dic.keys())
    print(dic.values())
    print(dic.items())
    
    ''' stdout
    dict_keys(['boy', 'school', 'book'])
    dict_values(['소년', '학교', '책'])
    dict_items([('boy', '소년'), ('school', '학교'), ('book', '책')])
    '''
  • 다른 콜렉션을 사전으로 형변환할 수 있다.

    li = [
        ['boy', '소년'],
        ['school', '학교'],
        ['teacher', '선생님']
    ]
    dic = dict(li)
    print(dic)
    
    ''' stdout
    {'boy': '소년', 'school': '학교', 'teacher': '선생님'}
    '''
반응형
저작자표시 (새창열림)

'SW개발 > Python' 카테고리의 다른 글

파이썬 컬렉션 관리  (0) 2021.08.24
파이썬 집합(Set)  (0) 2021.08.22
파이썬 튜플(Tuple)  (0) 2021.08.22
파이썬 리스트(List)  (0) 2021.08.22
파이썬 함수  (0) 2021.08.22
'SW개발/Python' 카테고리의 다른 글
  • 파이썬 컬렉션 관리
  • 파이썬 집합(Set)
  • 파이썬 튜플(Tuple)
  • 파이썬 리스트(List)
Caniro
Caniro
  • Caniro
    Minimalism
    Caniro
  • 전체
    오늘
    어제
    • 전체보기 (319)
      • SW개발 (268)
        • Java Spring (6)
        • C++ (186)
        • Python (21)
        • Linux (16)
        • 알고리즘 (13)
        • Git (4)
        • Embedded (1)
        • Raspberrypi (9)
        • React (3)
        • Web (2)
        • Windows Device Driver (6)
      • IT(개발아님) (46)
        • Windows (26)
        • MacOS (7)
        • Utility (11)
      • 챗봇 짬통 (0)
      • 일상 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    로지텍 마우스 제스처
    그림판
    spring
    unix
    Solaris 10
    EXCLUDE
    Windows 11
    windows
    맥북 카카오톡 알림 안뜸
    dism
    백기선
    vscode
    KakaoTalk
    스프링 프레임워크 핵심 기술
    윈도우 명령어
    알림
    citrix workspace
    시스템 복구
    SFC
    MacOS
    mspaint
    Workspace
    스프링
    java
    SunOS 5.1
    제외
    logi options
    윈도우
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Caniro
파이썬 사전(Dictionary)
상단으로

티스토리툴바