2023-07-30 10:30:47
728x90
728x90

리스트(list)가 '인덱스를 기반으로 값을 저장하는 것'이라면 딕셔너리(dictionary)는 '키(key)를 기반으로 값(value)을 저장하는 것'이라고 할 수 있다.

"키A": 10,  #문자열을 키로 사용하기
"키B": 20,
"키C": 30,
1:     40,  #숫자를 키로 사용하기
False: 50,  #불을 키로 사용하기
자료형 의미 가리키는 위치 선언 형식
리스트 인덱스를 기반으로 값을 저장 인덱스 변수 = []
딕셔너리 키를 기반으로 값을 저장 키  변수= {}

 

딕셔너리 선언하기

딕셔너리는 중괄호{}로 선언하며, 키: 값 형태를 쉼표(,)로 연결해서 만든다. 키는 문자열, 숫자, 불 등으로 선언할 수 있다.

>>>dict_a = {
...    "name": "어벤저스 엔드게임",
...    "type": "히어로 무비"
...    }
>>>dict_a
{'name': '어벤저스 엔드게임', 'type': '히어로 무비'}

 

 

딕셔너리의 요소에 접근하기

딕셔너리의 특정 키 값만 따로 출력할 수도 있다. 딕셔너리의 요소에 접근할 대는 리스트처럼 딕셔너리 뒤에 대괄호[]를 입력하고 내부에 인덱스처럼 키를 입력한다. 이때 주의할 점은 딕셔너리를 선언할 때는 중괄호{}를 사용하지만, 딕셔너리의 요소에 접근할 때는 리스트처럼 딕셔너리 뒤에 대괄호[]를 입력하고 내부에 인덱스처럼 키를 입력한다는 것이다.

구분 선언 형식 사용 예 틀린 예
리스트 list_a = [] list_a[1]  
딕셔너리 dict_a = {} dict_a["name"] dict_a{"name"}

딕셔너리 내부의 값에 리스트와 딕셔너리도 하나의 자료이므로, 리스트와 딕셔너리를 값으로 넣을 수 있다.

 

# 딕셔너리를 선언
dictionary = {
    "name": "7D 건조 망고",
    "type": "당절임",
    "ingredient": ["망고", "설탕", "메타중아황산나트륨", "치자황색소"],
    "origin": "필리핀"
}
# 출력
print("name:", dictionary["name"])
print("type:", dictionary["type"])
print("ingredient:",dictionary["ingredient"])
print("origin:", dictionary["origin"])
#값을 변경
dictionary["name"] = "8D 건조 망고"
print("name:", dictionary["name"])

위의 예제에서 보면 ingredient는 dictionary의 키이기도 하지만, 여러 개의 자료를 가지고 있는 리스트이기도 하므로 인덱스를 지정하여 리스트 안의 특정 값을 출력할 수도 있다.

 

 

딕셔너리에 값 추가하기/제거하기

딕셔널에 값을 추가할 때는 키를 키반으로 값을 입력하면 된다

 

딕셔너리[새로운키] = 새로운 값

 

딕셔너리에 이미 존재하고 있는 키를 지정하고 값을 넣으면 기존의 값을 새로운 값으로 대치하기도 하고  리스트 때처럼 del 키워드를 사용하여 특정 키를 지정하면 해당 요소가 제거된다.

 

 

딕셔너리 내부에 키가 있는지 확인하기

딕셔너리에 존재하지 않는 키에 접근하면 KeyError가 발생한다. 그래서 존재하는 키인지, 존재하지 않는 키인지 확인할 수 있는 방법이 필요하다.

 

  • in 키워드
    리스트 내부에 값이 있는지 없는지 확인할 때 in 키워드를 사용했던 것처럼 딕셔너리 내부에 키가 있는지 없는지 확인할 때도 in 키워드를 사용한다.
  • get() 함수
    존재하지 않는 키에  접근하는 상황에 대한 두 번째 대처 방법으로는 딕셔너리의 get() 함수를 사용하는 방법이 있다. get() 함수는 딕셔너리의 키로 값을 추출하는 기능으로 딕셔너리[키]를 입력할 때와 같은 기능을 수행하지만, 존재하지않는 키에 접근할 경우 KeyError를 발생시키지 않고 None을 출력한다.
# in 키워드
조건문,반복문 키 변수 in 딕셔너리:
    코드
# get() 함수
딕셔너리.get("존재하지 않는 키")

 

 

for 반복문: 딕셔너리와 함께 사용하기

for 반복문과 딕셔너리를 조합해서 사용하면 다음과 같은 형태가 된다.여기서 주의할 점은 딕셔너리 내부에 있는 키가 변수에 들어간다는 것이다.

 

for 키 변수 in 딕셔너리:
    코드

 

728x90