딕셔너리
리스트와 같이 여러 개의 요소를 저장할 수 있다.
차이점이 있다면 리스트가 '인덱스' 기반으로 요소를 지정한는 반면, 딕셔너리(Dictionary)는 '키'를 기반으로 요소를 지정한다. 때문에 요소를 호출할 때 리스트보다 좀 더 효율적으로 요소를 호출할 수 있다.
리스트와 딕셔너리 비교 | ||
자료형 | 위치지정 | 선언형식 |
리스트 | 인덱스 | 변수=[] |
딕셔너리 | 키 | 변수={} |
딕셔너리 만들기·호출하기
중괄호{}로 '키:요소' 형태를 반점(,)으로 연결해서 만들며, 요소을 호출할 때에는 키를 기반으로 호출한다.
※ 요소를 여러개 넣을 때에는 요소를 대괄호[]로 씌워줘야 한다.
#예시
hagsig={
"name":["tistory","hagsig"],
"type":"blog"
}
print("hagsig :", hagsig)
print("hagsig[""name""] :", hagsig["name"])
print("hagsig[""name""][0] :", hagsig["name"][0])
print("hagsig[""name""][1] :", hagsig["name"][1])
print("hagsig[""type""] :", hagsig["type"])
#실행
hagsig : {'name': ['tistory', 'hagsig'], 'type': 'blog'}
hagsig[name] : ['tistory', 'hagsig']
hagsig[name][0] : tistory
hagsig[name][1] : hagsig
hagsig[type] : blog
딕셔너리 요소 변경하기
다음과 같은 방법으로 딕셔너리의 요소를 변경할 수 있다.
#예시
hagsig={
"name":["tistory","hagsig"],
"type":"blog"
}
print("수정 전 hagsig[""name""]) :",hagsig["name"])
hagsig["name"]=["security","hagsig"]
print("수정 후 hagsig[""name""]) :",hagsig["name"])
print("수정 전 hagsig[""type""]) :",hagsig["type"])
hagsig["type"]="python"
print("수정 후 hagsig[""type""]) :",hagsig["type"])
#실행
수정 전 hagsig[name]) : ['tistory', 'hagsig']
수정 후 hagsig[name]) : ['security', 'hagsig']
수정 전 hagsig[type]) : blog
수정 후 hagsig[type]) : python
딕셔너리 키·요소 추가하기
딕셔너리에 키·요소를 추가할 때는 다음과 같은 방식으로 입력하면 된다.
#예시
hagsig={
"name":"hagsig",
"type":"blog",
}
print("키·요소 추가하기 전 : ", hagsig)
hagsig["sns"]="tistory"
print("키·요소 추가한 이후 : ", hagsig)
#실행
값 추가하기 전 : {'name': 'hagsig', 'type': 'blog'}
값 추가한 이후 : {'name': 'hagsig', 'type': 'blog', 'sns': 'tistory'}
딕셔너리 키 제거하기
딕셔너리에 키를 제거할 때는 del을 사용한다.
#예시
hagsig={
"name":"hagsig",
"type":"blog",
"sns":"tistory"
}
print("키 제거하기 전 : ", hagsig)
del hagsig["sns"]
print("키 제거한 이후 : ", hagsig)
#실행
키 제거하기 전 : {'name': 'hagsig', 'type': 'blog', 'sns': 'tistory'}
키 제거한 이후 : {'name': 'hagsig', 'type': 'blog'}
딕셔너리 내부에 키가 존재하는지 확인하기
리스트 내부에 값이 존재하는지 확인할 때 in 연산자를 사용했던 것처럼 딕셔너리도 같은 방식으로 존재여부를 확인할 수 있다.
#예시
hagsig={
"name":["tistory","hagsig"],
"type":"blog"
}
searchkey="sns"
if searchkey in hagsig:
print(hagsig[searchkey])
else:
print("존재하지 않는 키 입니다.")
#실행
존재하지 않는 키 입니다.
in 연산자 외에도 get() 함수를 이용하여 키가 존재하는지 확인할 수 있다.
#예시
hagsig={
"name":["tistory","hagsig"],
"type":"blog"
}
searchkey="sns"
vaule=hagsig.get(searchkey)
if vaule == None:
print("존재하지 않는 키 입니다.")
else:
print(hagsig[searchkey])
#실행
존재하지 않는 키 입니다.
키와 요소를 동시에 출력하기
리스트가 enumerate() 함수를 이용해 인덱스와 요소를 동시에 출력하였다면,
딕셔너리에서는 items() 함수를 사용해 키와 요소를 동시에 출력할 수 있다.
#예시1
hagsig={
"name":["tistory","hagsig"],
"type":"blog"
}
print("items() 결과 :", hagsig.items())
#실행
items 함수 결과 : dict_items([('name', ['tistory', 'hagsig']), ('type', 'blog')])
#예시2
hagsig={
"name":["tistory","hagsig"],
"type":"blog"
}
for key, value in hagsig.items():
print("{} 키의 요소는 {} 입니다.".format(key, value))
#실행
name 키의 요소는 ['tistory', 'hagsig'] 입니다.
type 키의 요소는 blog 입니다.
'파이썬' 카테고리의 다른 글
[파이썬 강의] - 3.1 반복문(리스트) (0) | 2021.02.17 |
---|---|
[파이썬 강의] - 2.2 조건문(if) (0) | 2021.02.12 |
[파이썬 강의] - 2.1 조건문(bool, 연산자) (0) | 2021.02.11 |
[파이썬 강의] - 1.5 자료형(문자열 다루기) (0) | 2021.02.10 |
[파이썬 강의] - 1.4 자료형(변환) (0) | 2021.02.10 |