22.10.06 - 자료형(딕셔너리)(3)

LaMelo·2022년 10월 6일
0

jupyter

목록 보기
6/29
post-thumbnail

3. 딕셔너리(Dictionary)

▶ 문법 기호/함수 : {key1 : value1, key2 : value2, key3 : value3 ... } / 함수 : dict()

▶ key로 가질 수 있는 데이터 타입 : 문자, 숫자, 튜플(Tuple)

▶ value로 가질 수 있는 데이터 타입 : 문자, 숫자, 리스트(List), 딕셔너리(Dict) ...

▶ 아이템 = key&value 하나의 쌍

▶ 종류
아이템이 없는 딕셔너리
1차원 딕셔너리
* 다차원 딕셔너리

▶ 특징
key, value의 차이점
인덱스 번호를 가지지 않는다.(!!! 중요한 특징 !!!!)

1. 생성하기

  • 문법기호 : {k1:v1, k2:v2,.....}
  • list처럼 dict()함수로 생성할 수도 있다.
  • 리스트 형태의 2차원 자료를 이용해 딕셔너리로 변환 가능
  • 딕셔너리의 value 값에 들어갈 수 있는 자료에는 제약이 없다.
  • 딕셔너리의 구성 요소인 key값과 value값의 차이점 :
    • 1) key값에는 중복된 자료가 못 들어가며
    • 2) 만약 선언단계에서 중복된 key로 선언시 가장 마지막 하나만 반영된다.

2. 인덱싱

  • 인덱싱 문법 기호
    • 기존의 인덱싱 방법은 객체[인덱스번호]이지만, 딕셔너리는 key값이 인덱스 번호 역할을 한다.
    • 없는 key값을 조회하면 에러 메세지를 출력한다.
    • 다만 내장함수인 .get()을 사용하면 에러가 나지 않고 출력값이 나오지 않는다.
    • 딕셔너리는 슬라이싱이 불가능하다.
    • 슬라이싱 대신 반복문을 사용해야 한다.
  • 일차원 Vs 다차원 인덱싱
    • 연습문제를 통해 알아보자.
    • 아래와 같은 다차원 딕셔너리를 만들고 제시한 값을 출력해보세요.
      {'a' : [1, 2, 3], 'b' : 100, 'c' : {'key1' : ['파인애플', '포도', '바나나'], 'key2' : (55, 66)}}
  • 1) 3 출력하기
  • 2) ['파인애플', '포도', '바나나']
  • 3) 포도 출력하기
  • 4) 55 출력하기
  • 딕셔너리 내장함수로 인덱싱
  1. 아이템 추가하기
  • 인덱싱 방식으로 새로운 아이템 추가 메소드 : update()
    • 기존의 key값에 value 할당 시 값이 갱신(인덱스번호가 없기 때문에 이런 방식의 문법을 사용)
  • 하나 이상의 아이템(key & value) 추가/수정 : 딕셔너리자료.update()
  • 추가할 아이템 타입 : 딕셔너리를 직접 넣어줘도 되고 딕셔너리로 변환이 가능한 리스트를 넣어줘도 됩니다.
profile
가즈아~

0개의 댓글