파이썬 사전(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
  • 전체
    오늘
    어제
    • 전체보기 (318)
      • 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(개발아님) (45)
        • Windows (25)
        • MacOS (7)
        • Utility (11)
      • 챗봇 짬통 (0)
      • 일상 (2)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바