1. 딕셔너리 선언
딕셔너리는 중괄호 { }로 선언하며 '키:값'의 형태를 쉼표(,)로 연결해서 만듭니다. 키는 문자열, 숫자, 불 등으로 선언할 수 있습니다.
변수 = {
키:값,
키:값,
...
키:값
}
2. 딕셔너리 요소에 접근
딕셔너리 요소에 접근할 때에는 리스트처럼 딕셔너리 뒤에 대괄호 []를 사용하고 대괄호 안에는 내부 인덱스를 넣듯이 '키'를 입력해주면 됩니다. 딕셔너리는 선언할 때에는 중괄호{}로 선언하지만 요소에 접근할 때에는 대괄호[]를 사용하는 점은 유념해야합니다.
# print(dictionary_a["name"])
# print(dictionary_a["gender"])
# 딕셔너리를 선언합니다.
dictionary = {
"name" : "홍길동",
"gender" : "",
"ability" : ["축구", "공부", "연설", "원활한인간관계"],
"nation" : "한국",
}
print("name : {}".format(dictionary["name"]))
print("gender : {}".format(dictionary["gender"]))
print("ability : {}".format(dictionary["ability"]))
print("nation : {}".format(dictionary["nation"]))
print()
# 값 변경
dictionary["name"] = "각시탈"
print("name : {}".format(dictionary["name"]))
# 값이 리스트일 때는 리스트 안의 특정값을 접근해서 출력할 수도 있습니다.
print("ability {} : {}".format(0, dictionary["ability"][0]))
print("ability {} : {}".format(1, dictionary["ability"][1]))
print("ability {} : {}".format(2, dictionary["ability"][2]))
print("ability {} : {}".format(3, dictionary["ability"][3]))
3. 딕셔너리에 값 추가하기
딕셔너리에 새로운 값을 추가할 때는 키를 기반으로 값을 입력해주기만 하면 됩니다.
딕셔너리[새로운 키] = 새로운 값
아래와 같이 빈 딕셔너리에 새로운 키에 새로운 값을 넣어주면 값이 입력되는 것을 볼 수 있습니다.
# 빈 딕셔너리
dictionnary = {}
print("요소 추가하기 전 : {}".format(dictionnary))
# 요소 추가
dictionnary["name"] = "새로운 이름"
dictionnary["head"] = "새로운 정신"
dictionnary["body"] = "새로운 육체"
print("요소 추가한 후: {} ".format(dictionnary))
4. 딕셔너리에 값 제거하기
딕셔너리를 제거하는 방법은 리스트에서 요소를 제거할 때 사용했었던 del을 사용하여 제거할 수 있습니다.
del 딕셔너리[제거할 키]
아래처럼 del을 통해 딕셔너리 내에 존재하는 값을 지울 수 있습니다.
# 딕셔너리 선언
dictionary = {
"name" : "홍길동",
"gender" : "남성"
}
print("요소 제거하기 전 : {}".format(dictionary))
# 딕셔너리 요소 제거하기 : 제거하고싶은 키를 인덱스에 넣고 del을 쓰면됨.
del dictionary["name"]
del dictionary["gender"]
print("요소 제거 후 : {}".format(dictionary))
5. 딕셔너리 내부에 키가 있는지 확인
리스트 내부에 값이 있는지 없는지 확인할 때 in 키워드를 사용했던 것처럼 딕셔너리 내부에 키가 있는지 없는지 확인하는 것도 in 키워드를 사용합니다. 아래의 예시처럼 '키'를 입력했을 때 입력한 '키'가 딕셔너리 내부에 있는지 없는지를 in 연산자로 확인할 수 있습니다.
# in 키워드
dictionary = {
"name" : "홍길동",
"gender" : "",
"ability" : ["축구", "공부", "연설", "원활한인간관계"],
"nation" : "한국",
}
key = input("> 접근 하고자 하는 키 : ")
# 딕셔너리 변수 dictionary안에 입력한 값이 있는지 확인.
if key in dictionary:
print(dictionary[key])
else:
print("존재하지않는 키에 접근하고 있습니다.")
6. get()함수
존재하지 않는 키에 접근하는 상황에서 또 다른 방법은 get()함수를 사용하는 것입니다. get()함수는 딕셔너리의 키로 값을 추출하는 기능으로 "딕셔너리[키]"를 입력할 때와 같은 기능을 수행하지만 키가 존재하지 않을 때는 KeyError를 발생시키지 않고 None을 출력합니다.
dictionary = {
"name" : "홍길동",
"gender" : "",
"ability" : ["축구", "공부", "연설", "원활한인간관계"],
"nation" : "한국",
}
value = dictionary.get("존재하지 않는 키")
print("값 : {}".format(value))
if value == None:
print("존재하지 않는 키에 접근")
else:
pass
7. for 반복문에 딕셔너리와 함께 사용하기
for 반복문과 딕셔너리 조합하는 방법은 아래와 같은 조합으로 사용이 가능합니다. 여기서 주의할 점은 딕셔너리 내부에 있는 키가 변수에 들어간다는 점입니다.
for 키 변수 in 딕셔너리:
코드...
코드 자체는 어렵지 않으나, for문에서 딕셔너리를 사용할 때에는 키를 나타내므로, 키와 값을 어떻게 출력하느냐를 유념해야 합니다.
dictionary = {
"name" : "홍길동",
"gender" : "",
"ability" : ["축구", "공부", "연설", "원활한인간관계"],
"nation" : "한국",
}
for key in dictionary:
print("key : {}".format(key))
print("value : {}\n".format(dictionary[key]))