|name | code|
| --- | --- |
|"John"| 0011|
| "Maria" | 1234|
D = {} ## 공집합이 아니고 dict이다. dict()를 사용해도 된다.
type(D)
# 사전 생성
D = {"John" : "0011", "Maria" : 1234} ## 숫자에선 0으로 시작하는게 없음으로 숫자를 str로 변환시켜야 한다.
D ## 여기서 John 과 Maria 는 key 값이라 부른다.
type(D.values()) ## dict의 value들도 type으로 형성되는데 이유는 class중 하나이기 때문이다.
D["John"]
D["a"] = 3 ## Dictionary 에 a 라는 key-value를 생성하고 3을 추가한다.(Inserting)
D
D["a"] = 15 ## 이미 a라는 key가 존재함으로 a값에 15를 update한다.
D
D2 = {'a' : 1, 'a' : 2, 'b' : 3}
D2 ## 이렇게 될경우 같은 a라는 variable에 1 과 2가 지정되는데
##처음 a key 값에 1 이 지정되고 그다음에 2로 업데이트 된다.
Tip 사전 생성시 중복되는 key는 안된다.
사전에 key는 immutable 이 되어야 한다.
D.keys() ## key-values 보기
D.values() ## values 보기
D.items() ## key-value와 value를 pair로 보기
D.get('John') ## dict에 특정 key-value의 value가져오기
# 굳이 get() 함수를 사용하는 이유는 특정 key에 name이 없으면 그값에 defult로 0을 출력할수있다.
D.get("b", 0)
"KDT" in D ## KDT가 존재하지 않음으로 False가 출력된다
"a" in D ## a는 존재함으로 True값이 출력
1 in D.values() ## key-value뿐만 아니라 value 들을 찾을 수 도 있다.
1234 in D.values()
name_list = ["John", "Maria"]
code_list = ["0011", 1234]
#name_list[0]
#code_list[0]
code_list[name_list.index("John")]
## 7.7 key-value 지우기
D = {"John" : "0011", "Maria" : 1234, 'a' : 1}
del D["John"]
D