[파이썬 기초 문법] 12장. 딕셔너리
20 Jun 2019
Reading time ~2 minutes
이 포스트는 윤성우님의 저서 열혈 파이썬 기초편을 기반으로 작성한 글입니다.
윤성우 열혈 파이썬 기초편
12장. 딕셔너리
1.딕셔너리의 이해
>>> dc = {
'코카콜라': 900,
'바나나맛우유': 750,
'비타500': 600,
'삼다수': 450
}
>>> dc
{'코카콜라': 900, '바나나맛우유': 750, '비타500': 600, '삼다수': 450}
>>> dc = {
'이름': '이순둥', # 값이 문자열
'나이': 19, # 값이 정수
'직업': '학생', # 값이 문자열
'키': 175.8 # 값이 실수
}
>>> dc
{'이름': '이순둥', '나이': 19, '직업': '학생', '키': 175.8}
>>> dc = {
'이순둥': 22,
'정순둥': 22,
'김순둥': 22
}
>>> dc
{'이순둥': 22, '정순둥': 22, '김순둥': 22}
>>> dc = {
'이순둥': 22,
'이순둥': 23,
'이순둥': 24
}
>>> dc
{'이순둥': 24}
2.참조, 수정, 추가, 삭제
참조
>>> dc = {
'코카콜라': 900,
'바나나맛우유': 750,
'비타500': 600,
'삼다수': 450
}
>>> v = dc['삼다수']
>>> v
450
수정
>>> dc = {
'코카콜라': 900,
'바나나맛우유': 750,
'비타500': 600,
'삼다수': 450
}
>>> dc['삼다수'] = 550
>>> dc
{'코카콜라': 900, '바나나맛우유': 750, '비타500': 600, '삼다수': 550}
추가
>>> dc['삼다수'] = 550
>>> dc
{'코카콜라': 900, '바나나맛우유': 750, '비타500': 600, '삼다수': 550}
>>> dc['카페라떼'] = 1300
>>> dc
{'코카콜라': 900, '바나나맛우유': 750, '비타500': 600, '삼다수': 550, '카페라떼': 1300}
수정과 같은 문법에서 키값이 기존에 존재하지 않으면 추가가 된다!
삭제
>>> dc
{'코카콜라': 900, '바나나맛우유': 750, '비타500': 600, '삼다수': 550, '카페라떼': 1300}
>>> del dc['비타500']
>>> dc
{'코카콜라': 900, '바나나맛우유': 750, '삼다수': 550, '카페라떼': 1300}
3.== 연산을 대상으로 관찰하는 딕셔너리 성격
>>> t1 = [1, 2, 3]
>>> t2 = [1, 2, 3]
>>> t3 = [3, 2, 1]
>>> t1 == t2
True
>>> t1 == t3
False
>>> d1 = {1: 'a', 2: 'b'}
>>> d2 = {1: 'a', 2: 'b'}
>>> d3 = {2: 'b', 1: 'a'}
>>> d1 == d2
True
>>> d1 == d3
True
리스트와 달리 딕셔너리는 데이터가 들어있는 순서와는 상관없이 연산 되는 것을 볼 수 있다.
4.in 연산과 not in 연산
>>> if '새우깡' in dc2:
dc2['새우깡'] = 950 # 수정
>>> if '카페라떼' not in dc1:
dc1['카페라떼'] = 1200 # 추가
수정만 가능하게 할 경우 if ‘키값’ in ‘‘딕셔너리명’과 함께 사용하고
추가만 가능하게 할 경우 if ‘키값’ not in ‘‘딕셔너리명’과 함께 사용한다.
5.딕셔너리와 for 루프
>>> dc = {'새우깡': 700, '콘치즈': 850, '꼬깔콘': 750}
>>> for i in dc:
print(i, end = ' ')
출력결과
새우깡 콘치즈 꼬깔콘
>>> dc = {'새우깡': 700, '콘치즈': 850, '꼬깔콘': 750}
>>> for i in dc:
dc[i] += 70
>>> dc
{'새우깡': 770, '콘치즈': 920, '꼬깔콘': 820}