Python/Basic

[Python] 딕셔너리 자료형 정리

HYEOKJUN 2022. 6. 9. 18:00
반응형


딕셔너리란

딕셔너리(Dictionary)키(Key)와 값(Value)이 한 쌍의 대응 관계를 가지는 자료형입니다.

딕셔너리는 인덱스를 통해 값에 접근하는 리스트와는 달리 키로 값에 접근합니다.

  데이터의 유형이 비슷하고 인덱스가 아닌 키와 값의 관계로만 정리가 가능한 구조가 정해진 데이터를 관리할 때 중요하게 사용됩니다.

(딕셔너리는 요소를 추가, 삭제하는 메서드가 없습니다.)


예를 들어, 어떤 사람의 개인 정보를 저장할 때

Name = "김철수"
Phone = "010-1234-5678"
Height = 185
Weight = 70.5

다음과 같이 개인 정보를 갖는 변수를 하나하나 선언하는 것보다

person1 = {"Name":"김철수", "Phone":"010-1234-5678", "Height":185, "Weight":70.5}

다음과 같이 개인 정보 유형을 키로 갖고 그 개인 정보를 값으로 갖는 딕셔너리로 선언하는 것이 더 좋습니다.

plist = [
	{"Name":"김철수", "Phone":"010-1234-5678", "Height":185, "Weight":70.5},
	{"Name":"김영희", "Phone":"010-2345-6789", "Height":160, "Weight":51.5},
	{"Name":"김민수", "Phone":"010-3456-7890", "Height":175, "Weight":62.5}
]

또한 딕셔너리는 다음과 같이 리스트 안에서 쓰이는 경우가 많습니다.


딕셔너리 선언

딕셔너리는 다음과 같은 방법으로 선언할 수 있습니다.

dictionary = dict()
dictionary = {}

또는 초기화와 동시에 값을 할당하기 위해서 다음과 같이 사용합니다.

dictionary = {key1:value1, key2:value2, ... , keyn:valuen}

(key는 불변 객체이어야 하며 대부분 문자열을 많이 사용합니다.)

(key가 중복되는 경우에는 가장 나중에 지정한 value를 저장합니다.)


딕셔너리 요소 접근

딕셔너리를 선언할 때 지정한 키(Key)를 통해서 딕셔너리의 요소에 접근할 수 있습니다. 

dictionary[key]

person1 = {"Name":"김철수", "Phone":"010-1234-5678", "Height":185, "Weight":70.5}

person1["Name"]
# "김철수"를 반환합니다.

딕셔너리 요소 추가

딕셔너리에 키(Key)값(Value)을 지정하여 요소를 추가할 수 있습니다.

(이때 키가 이미 존재하는 경우에는 요소가 추가되지 않고 키에 대한 값이 변경됩니다.)

dictionary[key] = value

person1 = {"Name":"김철수", "Phone":"010-1234-5678", "Height":185, "Weight":70.5}

person1["age"] = 25
# person1에는 "age"라는 키가 없으므로
# person1은 {"Name":"김철수", "Phone":"010-1234-5678", "Height":185, "Weight":70.5 "age": 25}가 됩니다.

딕셔너리 요소 삭제

키(Key)del 키워드를 사용하여 딕셔너리의 요소를 삭제할 수 있습니다.

del dictionary[key]

person1 = {"Name":"김철수", "Phone":"010-1234-5678", "Height":185, "Weight":70.5}

del person1["Phone"]
# person1은 {"Name":"김철수", "Height":185, "Weight":70.5}가 됩니다.

keys()

keys()딕셔너리의 모든 키를 출력하는 메서드입니다.

dictionary.keys()

person1 = {"Name":"김철수", "Phone":"010-1234-5678", "Height":185, "Weight":70.5}

person1.keys()
# dict_keys(['Name', 'Phone', 'Height', 'Weight'])를 반환합니다. (리스트처럼 사용할 수 있습니다)

values()

values() 딕셔너리의 모든 값을 출력하는 메서드입니다.

dictionary.values()

person1 = {"Name":"김철수", "Phone":"010-1234-5678", "Height":185, "Weight":70.5}

person1.values()
# dict_values(['김철수', '010-1234-5678', 185, 70.5])를 반환합니다. (리스트처럼 사용할 수 있습니다)

 

반응형