728x90
Dictionary
- key와 value가 한 쌍이 되어 존재하는 형태의 자료구조
- 각각의 원소를 구분짓게 해주는 key,그에 대응하는 값인 value
- list가 대괄호라면, dictionary는 중괄호로 한데 묶어 정의
딕셔너리 생성 및 원소 추가
# 딕셔너리 선언
score = {'제로' : 100, '엔시티':127, '데이식스' : 666 }
# 새로운 원소 추가
score['박박박'] = 888
print(score)
- 중괄호 { } 로 dictionary 전체를 묶고, 'key' : value 쌍을 콤마로 이어 원소들을 선언
- 새로운 원소를 추가하기 위해서는 딕셔너리명[key] = value와 같이 작성
key 값을 활용한 원소의 탐색
score = {'제로' : 100, '엔시티':127, '데이식스' : 666 }
if ('엔시티' in score) :
print('검색 완료')
결과
- list에서 in을 이용하여 원소의 존재 여부를 확인하였는데,
- dictionary에서도 in을 이용하여 해당 key 값을 가지는 원소의 존재 여부를 확인할 수 있음.
key에 대응하는 value 찾기
score = {'제로' : 100, '엔시티':127, '데이식스' : 666 }
print(score['데이식스'])
결과
666
- dictionary에서 특정 key에 대응하는 value를 확인하려면 딕셔너리명[key]를 호출
- 위와 같은 방법으로 특정 value에 대응하는 key를 찾을 수는 없음.
dictionary의 원소 삭제
score = {'제로' : 100, '엔시티':127, '데이식스' : 666 }
del(score['엔시티'])
print(score)
del
- list의 del(리스트명[index])와 유사하게, dictionary에서는 del(딕셔너리명[key])로 원소 삭제
- key값이 문자열 형태인 경우 따옴표를 포함해야 함에 유의
미리 정의한 dictionary에서 key값들만 살펴보고 싶을 때
score = {'제로' : 100, '엔시티':127, '데이식스' : 666 }
for name in score.keys():
print(name, '학생')
keys()
- 딕셔너리명.keys()를 이용하면 이미 정의한 dictionary의 키 값들을 한번에 불러올 수 있음.
- 문법적 특성상, for 반복문과 함께 사용되는 경우가 많다.
- 딕셔너리명.values()를 이용하면 value 값들을 한번에 불러올 수 있다.
value값으로 key를 찾는 코드의 원리
score = {'제로' : 100, '엔시티':127, '데이식스' : 666 }
for name in score.keys() :
if (score[name] >= 600) :
print(name, '학생의 점수는 600점 이상입니다.')
- key()를 이용해 키 값 전체를 불러올 수 있다는 점에서 착안
- 각각의 키들을 순회하면서, 해당 키에 대응하는 값이 300이상인지 확인
- value가 300 이상에 해당하는 경우 순회 중이던 키 값을 반환
- 유용재 교수님의 컴퓨터프로그래밍2 강의자료를 참고하였습니다.
728x90