list가 인덱스를 기반으로 값을 정하는 것이라면 Dictionary는 키를 기반으로 값을 저장하는 것이다.
딕셔너리의 선언방법은 다음과 같다
여기서 key는 'name'이며 값은 'jone'이된다.
키는 문자열,숫자,불린 등으로 선언할 수 있다. 하지만 일반적으로는 문자열로 사용한다.
딕셔너리의 값에는 다양한 값이 들어갈 수 있으므로 딕셔너리와 list 또한 저장될 수 있다.
* a={
"name":"jone",
"age":"11",
"hobby":["soccer","baseball"],
"family":{"father":"sina","mother":"nase"}
}
딕셔너리 요소에 접근하기 위해서는 먼저 변수명에 대괄호를 붙여 키 값을 넣으면 된다.
선언은 중괄호{ } 로 하였으나 접근을위해선 대괄호[ ]로해야한다.
딕셔너리에는 list와 달리 index가 없기 때문에 a[0] 식의 접근은 불가능하다.
딕셔너리에 값을 추가할 때는 키를 기반으로 값을 입력하면 된다.
*a["girlfriend"] ="null"
Dictionary a를 출력해보면 girlfriend 가 추가된 것을 알 수있다.
{'name': 'jone', 'age': 11, 'hobby': ['soccer', 'baseball'], 'family': {'father': 'sina', 'mother': 'nase'}, 'girlfriend': 'null'}
이미 존재하는 키에 새로운 값을 넣고 싶다면
위와같이 새로 선언해주면 된다.
{'name': 'jone', 'age': 20, 'hobby': ['soccer', 'baseball'], 'family': {'father': 'sina', 'mother': 'nase'}, 'girlfriend': 'null'}
제거 역시 간단하다. list때처럼 del 키워드를 사용하여 특정 키를 지정하면 해당 요소가 제거된다.
{'name': 'jone', 'age': 20, 'hobby': ['soccer', 'baseball'], 'girlfriend': 'null'}
딕셔너리에 존재하지 않는 키에 접근하게되면 KeyError가 발생한다.
이를 위해 존재하는 키인지 아닌지 확인하는 방법이 있다.
바로 in 키워드를 사용해서 접근하면 된다
hi
정상적으로 hi가 출력됨을 알 수 있다.
딕셔너리에 존재하지 않는 키에 접근할 경우 에러코드가 아닌 None을 출력시키는 메소드이다.
존재하지않는 키
정상 출력됨을 알 수있다.