728x90
01. 딕셔너리
- 자료의 대응 관계를 나타내는 자료형
- 연관 배열(Associative arry) 또는 해시(Hash)
- 데이터를 조회할 때 key를 통해 value를 구함
- 딕셔너리 선언
- 중괄호{} 로 선언
- 키 : 값 의 형태를 콤마(,)로 연결해서 만듦
- 키는 문자열, 숫자, 불 등으로 선언할 수 있지만, 일반적으로는 문자열을 주로 사용
dic = {"name" : "andy", "birth" : "1118"}
print(dic)
{'name': 'andy', 'birth': '1118'}
dic = {"a" : [1, 2, 3]}
print(dic)
{'a': [1, 2, 3]}
02. 딕셔너리의 요소 추가, 삭제
# 키를 기반으로 값을 입력
dic["name"] = "jun"
print(dic)
{'a': [1, 2, 3], 'name': 'jun'}
# 이미 존재하는 키를 지정하고 값을 넣으면 기존의 값을 새로운 값으로 수정
dic["name"] = "파인애플"
print(dic)
{'a': [1, 2, 3], 'name': '파인애플'}
# 요소 삭제
del dic["name"]
print(dic)
{'a': [1, 2, 3]}
03. 딕셔너리 데이터 추출
score = {"kim" : 10, "lee" : 99}
print(score["kim"])
print(score["lee"])
10
99
- 딕셔너리의 key는 고유한 값임
- 중복을 허용하지 않음(동일한 key가 존재하면 어떤 value를 불러와야 할 지 알 수 없기 때문)
dic = {1 : "a", 1 : "b"} ##키값이 중복되면 뒤에 있는것으로 덮어씌움
print(dic)
{1: 'b'}
- 딕셔너리의 key에 튜플은 쓸 수 있음
- 리스트는 쓸 수 없음
- 딕셔너리의 key의 요건은 변하지 않는 값(immutable)
dic = {[1, 2] : "hi"}
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[50], line 1
----> 1 dic = {[1, 2] : "hi"}
TypeError: unhashable type: 'list'
dic = {(1, 2) : "hi"}
print(dic)
{(1, 2): 'hi'}
print(dic[(1, 2)])
hi
04. 딕셔너리 관련 함수
- key, value, item 리스트
dic = {"name" : "andy", "phone" : "0119991234", "birth" : "1118"}
print(dic.keys())
dict_keys(['name', 'phone', 'birth'])
print(dic.values())
dict_values(['andy', '0119991234', '1118'])
print(dic.items())
dict_items([('name', 'andy'), ('phone', '0119991234'), ('birth', '1118')])
- get으로 value 얻기
- 존재하지 않는 키로 값을 가져오라고 할 경우 오류가 발생함
- get으로 key가 없을 경우 기본값을 대신 가져오게 할 수 있음
dic["foo"]
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
Cell In[61], line 1
----> 1 dic["foo"]
KeyError: 'foo'
dic.get("foo", "bar") ##foo가 존재하면 그값을 출력, 존재하지 않으면 두번째 값(기본값)을 출력
'bar'
dic.get("name", "bar")
'andy'
- 해당 key가 딕셔너리 안에 있는지 조사하기
"name" in dic
True
"email" in dic
False
dic.clear()
print(dic)
{}
05. 확인문제
# 다음의 pets 데이터에서 "호랑이"와 3을 각각 출력해보기
pets = [
{"name" : "구름", "age" : 5},
{"name" : "초코", "age" : 3},
{"name" : "아지", "age" : 1},
{"name" : "호랑이", "age" : 2}
]
print(pets[3]["name"])
print(pets[1]["age"])
호랑이
3
print(type(pets)) ##타입을 모르면 python에게 물어보기
<class 'list'>
print(pets[0])
{'name': '구름', 'age': 5}
print(pets[3]["name"])
호랑이
print(pets[1]["age"])
3
728x90
'01_Python' 카테고리의 다른 글
27_mutable과 immutable (1) | 2025.01.07 |
---|---|
26_컬렉션>세트 (1) | 2025.01.07 |
24_컬렉션>튜플 (0) | 2025.01.07 |
23_컬렉션>리스트 (1) | 2025.01.06 |
22_컬렉션>컬렉션 종류 및 개요 (0) | 2025.01.03 |