딕셔너리(Dictionary)
: 리스트가 인덱스를 기반으로 값을 저장했다면 딕셔너리는 키를 기반으로 값을 저장하는 것.
중괄호 { }로 선언하며, '키: 값' 형태를 쉼표(,)로 연결해서 사용한다.
키는 문자열, 숫자, bool 등으로 선언 가능하지만 일반적으로 문자열을 사용함
딕셔너리 형태 (단, □는 공백을 의미)
변수 = {
□□□□키: 값,
□□□□키: 값,
□□□□....
□□□□키: 값
}
딕셔너리 요소에 접근
dict_a = {
"name" : ["짱구", "철수", "유리", "훈이", "맹구"], #키에 값이 여러 개면 [ ]로 묶어준다
"address" : "떡잎마을"
}
print(dict_a["address"]) #딕셔너리 요소에 접근하는 법은 리스트랑 비슷하다. (출력결과 : "떡잎마을")
딕셔너리를 선언할 때 키에 값이 여러 개면 대괄호[ ]로 묶어서 사용한다.
( 딕셔너리와 리스트를 조합하여 사용하는 것도 가능하다. 리스트 안에 딕셔너리 선언 가능 )
리스트처럼 딕셔너리 뒤에 대괄호[ ]를 입력하고 내부에 키 값을 입력하면 해당 요소에 접근이 가능하다.
키를 문자열로 사용할 때 반드시 따옴표를 사용해야 한다.
따옴표로 묶지 않는 실수를 하면 "NameError"가 뜨게된다.
dict_a = {
"name" : ["짱구", "철수", "유리", "훈이", "맹구"], #키에 값이 여러 개면 [ ]로 묶어준다
"address" : "떡잎마을"
}
print(dict_a["name"][0]) #키 "name"은 요소인 동시에 리스트이므로 이렇게도 접근이 가능하다.
print(dict_a["name"][1]) #출력결과 : 철수
name은 dict_a의 키이면서 여러 개의 자료를 갖고 있는 리스트이다.
따라서 위의 코드처럼 인덱스를 지정하여 리스트 안의 특성 값을 출력하는 것도 가능하다.
딕셔너리 요소 추가/제거
dict_a = {
"name" : ["짱구", "철수", "유리", "훈이", "맹구"],
"address" : "떡잎마을"
}
dict_a["age"] = 5 #dict_a에 "age"라는 키를 추가한다.
print(dict_a) #출력결과 :{'name': ['짱구', '철수', '유리', '훈이', '맹구'], 'address': '떡잎마을', 'age': 5}
del dict_a["age"]
print(dict_a) #출력결과 :{'name': ['짱구', '철수', '유리', '훈이', '맹구'], 'address': '떡잎마을'}
딕셔너리를 추가할 때는 새로운 키에 새로운 값을 넣어주면 된다. 아주 간단하다!
딕셔너리[새로운 키] = 새로운 값
딕셔너리를 삭제할 때도 간단하다. del 키워드를 사용하여 키를 지워주면 된다.
del 딕셔너리[삭제할 키]
딕셔너리 내부에 키 확인하는 방법 : in 키워드
dict_a = {
"name" : ["짱구", "철수", "유리", "훈이", "맹구"],
"address" : "떡잎마을"
}
key = input("> 접근하려고 하는 키: ") #키를 입력받는다.
if key in dict_a :
print(dict_a[key]) #키가 딕셔너리에 있다면 키에 해당하는 값을 출력
else:
print("존재하지 않는 키입니다.")
리스트에 사용했던 것처럼 in 키워드를 사용하여 딕셔너리 내부에 접근할 수 있다.
이 코드에서는 if 구문을 사용하여 dict_a안에 입력받은 키 값이 있을 때 코드를 실행한것이지만
없는 키를 그냥 print( )함수로 출력했다면 "KeyError"를 발생시킨다.
이런 경우엔 get( ) 함수를 사용하면 KeyError를 발생시키지 않고 None 값을 출력할 수 있다.
get( )함수
dict_a = {
"name" : ["짱구", "철수", "유리", "훈이", "맹구"],
"address" : "떡잎마을"
}
value = dict_a.get("age") #dict_a 내부에 없는 키 "age"를 입력했다.
print("값 :", value) #value값을 출력
if value == None:
print("존재하지 않는 키에 접근했었습니다.")
get( )함수는 딕셔너리 뒤에 .(마침표) 붙이고 사용할 수 있는 함수 중 하나이다.
딕셔너리의 키로 값을 추출하는 기능을 하며 존재하지 않는 키에 접근할 경우 None 값이 들어간다.
( 딕셔너리.get(키)와 딕셔너리[키]의 기능은 같다. )
딕셔너리와 for( )반복문
dict_a = {
"name" : ["짱구", "철수", "유리", "훈이", "맹구"],
"address" : "떡잎마을"
}
#dict_a 안에 있는 키와 값을 출력
for key in dict_a :
print( key, ":", dict_a[key])
'''
출력결과
name : ['짱구', '철수', '유리', '훈이', '맹구']
address : 떡잎마을
'''
for( )구문을 활용하여 딕셔너리 내부의 키와 값을 전부 출력한 코드
'자기계발 > Python' 카테고리의 다른 글
[Python] 기본10. 문자열, 리스트, 딕셔너리와 관련된 기본 함수 (0) | 2022.03.04 |
---|---|
[Python] 기본9. range()와 while 반복문 (0) | 2022.03.02 |
[Python] 기본7. 리스트와 for()반복문 (0) | 2022.02.27 |
[Python] 기본6. elif구문 (0) | 2022.02.26 |
[Python] 기본5. 날짜/시간 활용과 if()함수 (0) | 2022.02.26 |