0. Introduction
범용적으로 가장 많이 사용되는 기초 자료형
형식
key : value
로 구성된다.- A가 key이고, B가 value라고 할 때,
- 주로 중괄호 {A : B} 를 사용한다.
- 또 다른 선언법으로는 dict([(A, B)]), dict(A = B)을 사용한다.
sequence X => key 값으로 index 접근한다. => key 값은 중복되면 안된다.
- key는 숫자, 문자 다 가능하다.
- key만 존재하면 value는 어떤 자료 형태든 가능하다.
- key가 중복되지 않기 때문에, value는 중복 가능하다.
immutable과 mutable이 공존
key
는immutable
이다.- 그래서
key
값으로list
data type은 불가능하고,tuple
data type은 가능하다.
- 그래서
value
는mutable
이다.
만약 mutable data type으로 key 값을 만들었을 경우, TypeError가 뜬다.
|
|
1. dictionary 선언
- dictionary 선언에는 매우 다양한 방법이 있다.
- 이 다양한 방법들의 공통점은 { }, key, value 로 기본적으로 구성된다.
|
|
2. dictionary value 출력과 수정
2.1 dictionary value 출력
value 출력에는 2가지 방법이 있다.
print(a[key])
로 출력하는 방법print(a.get(key))
로 출력하는 방법
첫 번째 방법은 key에 해당하는 value 값이 존재하지 않으면
keyError
가 발생한다.두 번째 방법은 key에 해당하는 value 값이 존재하지 않으면
none
처리를 한다.error
가 발생하면 중단되기 때문에, 실무에서는 두 번째 방법을 많이 사용한다.
결론: Key에 해당하는 값을 사용할 때는 함수
.get(key)
를 사용하자.
|
|
2.2 dictionary 수정
- index에 key 값을 입력했을 때, 기존에 있던 key 면 수정이 되고, 없는 key면 추가된다.
|
|
3. dictionary 함수
len
: key의 갯수 구하기.keys()
: key 값만 출력.values()
: value 값만 출력.items()
: key, value 다 출력.pop()
: list에서 배운 것처럼 한 성분을 빼서 제거하여 저장하는 함수이지만, list는 순서가 있기 때문에 항상 맨 마지막 성분이 제거된다. 하지만, dictionary는 순서가 없어서key
값을 인자로 입력해야 한다..popitem()
: key와 value 중 아무거나 하나를 임의로 도출하여 없앤다..update()
: 다른 리스트를 넣어서, 키가 똑같은 것을 수정할 수 있다.in
연산자를 사용해서 해당하는 키 값이 있는지 알 수 있다.
|
|
in
연산자 사용하여 key 값 존재유무 확인
|
|
❗ 다른 data type을 dictionary로 만들 때 유의사항: 갯수가 맞아야 한다.
|
|