[ Python 기초 ] 딕셔너리 (Dictionary)
1. 딕셔너리(Dictionary)
1-1. 개요
딕셔너리는 사전을 의미하는데, 사전은 '단어'와 그 단어를 설명하는 '뜻'으로 구성되어 있다.
유사한 경험으로 사용되는 파이썬의 딕셔너리는 키(Key)와 값(Value)의 쌍으로 이루어져 있다.
# ex1. 딕셔너리 예시
scores = {'kor': 85, 'eng': 90, 'math': 100}
members = {'name': '홍길동', 'age': 25, 'phone': '010-3787-3146'
위의 예시와 같이 딕셔너리 scores
와 members
는 요소 전체를 중괄호({}
)로 감싸고, 각 요소는 콤마(,
)로 구분 지어져 있다.
📢 정리
- 딕셔너리의 키 :
'kor'
,'eng'
,'math'
,'name'
,'age'
,'phone'
- 딕셔너리의 값 :
85
,90
,100
,'홍길동'
,25
,010-3787-3146
1-2. 딕셔너리의 기본 구조
딕셔너리 생성에 사용되는 서식은 다음과 같다.
딕셔너리명 = {키: 값, 키: 값, ...}
키와 값으로 구성된 전체 요소들을 중괄호({}
)로 감싼 다음 딕셔너리명에 저장함으로써 딕셔너리가 생성된다.
# ex2. 딕셔너리의 기본 구조
members = {'name': '안지영', 'age': 30, 'email': '[email protected]'} # 딕셔너리 생성
print(members) # 딕셔너리 추출
print(members['name']) # 키 'name'에 대응되는 값 출력
print(members['age']) # 키 'age'에 대응되는 값 출력
print('길이' : %d' % len(members))
👉 실행 결과
{'name': '안지영', 'age': 30, 'email': '[email protected]'}
안지영
30
길이 : 3
✍ 문제 풀이
- 딕셔너리를 추출할 때는 키와 값의 쌍이 함께 출력된다.
- 딕셔너리는 키와 값이 한 쌍이므로 길이가 3이 된다.
2. 딕셔너리 요소 다루기
2-1. 요소 추가/수정/삭제
딕셔너리에 요소를 수정/추가/삭제하는 서식은 다음과 같다.
1. 수정/추가
딕셔너리명[키] = 값
2. 삭제
del 딕셔너리명[키]
-
딕셔너리명에 키가 존재하면 해당 키의 값을 수정한다.
만약 딕셔너리명에 키가 존재하지 않으면, 새로운 요소로서 키와 값이 추가된다. -
del
명령은 딕셔너리명에서 키를 가진 요소를 찾아 해당 요소의 키와 값을 삭제한다.
# ex3. 딕셔너리 요소 다루기
name = '안진영'
scores = {'kor': 95, 'eng': 85, 'math': 90, 'science': 80} # 딕셔너리 생성
print(scores)
scores['kor'] = 70 # 국어 점수 95점 -> 70점으로 수정
print(scores['kor']) # 국어 점수 출력
scores(['music']) = 100 # 기존에 없던 음악 점수 딕셔너리에 요소 추가
scores(scores)
del scores['science'] # 'science' 키와 값을 삭제
print(scores)
print('이름 : %s' % name)
print('국어 : %d' % scores['kor'])
print('영어 : %d' % scores['eng'])
print('수학 : %d' % scores['math'])
👉 실행 결과
{'kor': 95, 'eng': 85, 'math': 90, 'science': 80}
70
{'kor': 70, 'eng': 85, 'math': 90, 'science': 80, 'music': 100}
{'kor': 70, 'eng': 85, 'math': 90, 'music': 100}
이름 : 안진영
국어 : 70
영어 : 85
수학 : 90
✍ 문제 풀이
- 국어 점수가 95점에서 70점으로 잘 수정되었음을 확인할 수 있다.
'music'
요소가 추가되었고,'science'
의 키와 값이 삭제되었음을 확인할 수 있다.
2-2. for문에서의 활용
for문에서 사용되는 딕셔너리의 형식은 다음과 같다.
for 변수명 in 딕셔너리명:
...
딕셔너리명[변수명]
...
여기서 for 루프에서 사용되는 변수명은 딕셔너리명의 키가 되고, 딕셔너리명[변수명]은 해당 키에 대응되는 값이 된다.
# ex4. for문에서 딕셔너리 사용하기
phones = {'갤럭시 노트8': 2017, '갤럭시 S9': 2018, '갤럭시 노트 10': 2019, '갤럭시 S20': 2020}
print(phones)
for key in phones: # 딕셔너리의 key값만 들어감
print('%s => %s' % (key, phones[key]))
print(len(phones))
👉 실행 결과
{'갤럭시 노트8': 2017, '갤럭시 S9': 2018, '갤럭시 노트 10': 2019, '갤럭시 S20': 2020}
갤럭시 노트8 => 2017
갤럭시 S9 => 2018
갤럭시 노트10 => 2019
갤럭시 S20 => 2020
4
✍ 문제 풀이
- 휴대폰 모델을 키로 하고, 출시년도를 값으로 하는 딕셔너리
phones
를 생성한다. - for 루프는 딕셔너리의 요소의 개수만큼 5행의 문장을 반복한다.
- for문에서 key는 phones의 각각의 키에 해당되는 '갤럭시 노트8', '갤럭시 S9', '갤럭시 노트10', '갤럭시 S20'을 가진다.
Author And Source
이 문제에 관하여([ Python 기초 ] 딕셔너리 (Dictionary)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hj5730/Python-기초-딕셔너리-Dictionary저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)