본문 바로가기

Python/Basic

[파이썬 기초] 파이썬 딕셔너리 dict 기초 완전 정복 1

 

 

안녕하세요 오늘은 파이썬 딕셔너리에 대해서 알아보겠습니다.

 

딕셔너리 

리스트와 비슷하다 단 항목의 순서는 따지지 않는다 

Value (값) 에 상응하는 key (키)를 가지고 있다 

딕셔너리는 변경가능 함으로 key에 상응하는 value를 추가, 삭제 수정할 수 있다

key는 부울, 정수 , 부동소수 점수, 튜플, 문자열 등이 가능하다

파이썬에서는 dict 라고 불린다

딕셔너리는 Mapping Type 이다

딕셔너리는 key와 value 한쌍을 가지고 있는 자료형이다

*다른 언어에서는 해시, 연관 배열, 해시 맵이라고 부른다

 

딕셔너리 생성하기 :  { } (중괄호)

딕셔너리  = { key : value , key : value , key : value... }

딕셔너리는 { } 중괄호 안에 key : value 가 들어간다

위의 키(key)'key1' , 'key2', 'key3' 이다 

위의 값(value) '가', '나', '다' 이다

*좀 더 설명하기 쉽게 이름을 key 라고 붙였다

 

 

딕셔너리를 왜 사용하나 라는 의문이 들 수도 있습니다. 

만약에 딕셔너리라는 자료형이 없다면 1~6반 까지 있는 고등학생들을 데이터로 만드려고 할 때

리스트를 사용해서 만들기는 어려울 것이다. 그래서 딕셔너리라는 자료형이 존재합니다

 

1반 딕셔너리 : class_1 = { 1 : '김코딩' , 2 : '강코딩' , 3 : '최코딩',  4 : '황코딩'} 

이런 식으로 짝을 이루는 데이터를 만들 때 딕셔너리가 사용됩니다. 

 

마치 사전에 있는 단어(key)와 뜻(value) 처럼 원하는 값을 바로바로 찾을 수 있습니다

리스트는 순차적으로 즉 항목들을 차례대로 검사하여 확인해야 하지만 

딕셔너리는 key만 안다면 그에 해당하는 값을 바로 알 수 있습니다. 마치 사전에서 원하는 단어를 찾는 것처럼요ㅎㅎ

 

빈 딕셔너리 생성

딕셔너리는 { }(중괄호) 를 사용한다는 걸 알아두자

빈 딕셔너리를 생성해보았다

type함수로 dict라 나온 것으로 보아 딕셔너리 인걸 알 수 있다.

 

 

딕셔너리 항목 추가/항목 변경하기 : [key]

딕셔너리 이름[추가할 key] = 추가할 value

key에 의해 참조되는 항목에 값을 할당하면 된다

위의  사진을 보시면 

class_3['key4'] = 'abc' 이 부분이 class_3 딕셔너리키 : key4  값 : abc 를 넣어주는 부분이다 

 

 

추가하려는 키가 이미 딕셔너리에 존재

이전에 있던 key와 대응하는 value 는사라지고 새로 추가한 key와 value가 추가된다

'key1' : '가' 가 사라지고 새로 추가한 'key1' : '가나다' 가 추가되었다

 

 

추가하려는 키가 존재하지 않을 경우

2반 학생들 딕셔너리를 만들었다

근데 훈이를 빼먹어서 추가해주었더니 새롭게 추가되었다. 

추가하려는 키가 존재하지 않을 경우 새로운 값으로 딕셔너리에 추가된다.

 

 

 

 

딕셔너리 결합하기 : update() 

한 딕셔너리의 키와 값을 복사해서 다른 딕셔너리에 붙여준다. 

딕셔너리이름.update(딕셔너리이름)

 

class_3.update(class_2) 를 하였더니 

class_2에있던 키와 값들이 class_3에 들어간 것을 확인할 수 있다

 

붙들어가게 된 딕셔너리 class_2의 키와 값들은 변경되지 않는다.

 

(update 사용할 때) 두 개의 딕셔너리 중복되는 키가 있을 때

class_2와 class_1에 중복되는 키 1과 2 가있습니다

붙이게 되는 딕셔너리의 키값이 추가되는 걸 알 수 있었습니다

class_1의 키값이 class_2 에 추가되는 걸 알 수 있다