1. 딕셔너리란?
값마다 이름을 붙여서 저장하는 방식, 사전에서 단어를 찾듯이 값을 가져올 수 있다.
2. 만드는 법
- 딕셔너리 = {키1: 값1, 키2: 값2}
>>> dix={'name':'홍길동', 'age':20, 'weight':5, 'height':180}
>>> dix
{'name': '홍길동', 'age': 20, 'weight': 5, 'height': 180}
3. 키 이름이 중복되면?
중복되면 가장 뒤에 있는 값만 사용, 중복되는 키는 저장 안 됨
>>> dix={'name':'홍길동', 'age':20, 'weight':5, 'height':180, 'height':180}
>>> dix
{'name': '홍길동', 'age': 20, 'weight': 5, 'hight': 180}
4. 딕셔너리 키의 자료형
딕셔너리의 '키'는 문자열, 정수, 실수, 불도 사용할 수 있으며 자료형을 섞어서 사용해도 된다.
그리고 '값'에는 리스트, 딕셔너리 등을 포함하여 모든 자료형을 사용할 수 있다.
>>> dix={50:'fifty', False:0, 3.5:[3.5,3.5]}
>>> dix
{50: 'fifty', False: 0, 3.5: [3.5, 3.5]}
단, 키에는 리스트와 딕셔너리 사용 불가능
-키: 문자열, 정수, 실수, 불, 자료형 섞기, 리스트 X, 딕셔너리 X
-값, 모든 자료형, 리스트, 딕셔너리
5. 빈 딕셔너리
- 딕셔너리 = {}
- 딕셔너리 = dict()
>>> dix={} #공백 사용
>>> dix
{}
>>> dix=dict() #dict() 사용
>>> dix
{}
6. dict()로 딕셔너리 만들기
- 딕셔너리 = dict(키1=값1, 키2=값2)
- 딕셔너리 = dict(zip([키1, 키2], [값1, 값2])) ----- zip함수 이용(키는 키끼리, 값은 값끼리)
- 딕셔너리 = dict([(키1, 값1), (키2, 값2)]) ----- (키, 값) 형식의 튜플을 나열
- 딕셔너리 = dict({키1: 값1, 키2: 값2}) ----- 중괄호
>>> dix=dict(name='홍길동', age=20, weight=5, height=180)
>>> dix
{'name': '홍길동', 'age': 20, 'weight': 5, 'height': 180}
주의할 점: 키에 작은따옴표('')나 큰따옴표("") 사용금지
>>> dix=dict(zip(['name', 'age'], ['홍길동', 20]))
>>> dix
{'name': '홍길동', 'age': 20}
주의할 점: 키는 키끼리, 값은 값끼리
>>> dix=dict([('name', '홍길동'), ('age', 20)])
>>> dix
{'name': '홍길동', 'age': 20}
>>> dix = dict({'name': '홍길동', 'age': 20})
>>> dix
{'name': '홍길동', 'age': 20}
7. 키에 접근하기
- 딕셔너리[키]
>>> dix = {'name': '홍길동', 'age':20, 'weight': 85}
>>> dix['name']
'홍길동'
>>> dix['weight']
85
>>> dix
{'name': '홍길동', 'age': 20, 'weight': 85}
8. 딕셔너리의 키에 값 할당하기
- 딕셔너리[키] = 값
>>> dix['name']='강민구'
>>> dix
{'name': '강민구', 'age': 20, 'weight': 85}
없는 키에 값을 할당하면 해당 키가 추가되고 값이 할당됨
있는 거는 바꿔주고
8. 딕셔너리에 키가 있는지 확인하기
- 키 in 딕셔너리
맞으면 True 아니면 False
>>> dix = {'name': '홍길동', 'age':20, 'weight': 85}
>>> 'name' in dix
True
>>> 'height' not in dix #없는지도 확인 가능
True
8. 딕셔너리 사용기법
해시(Hash) 기법을 이용해서 데이터 저장
보통 딕셔너리와 같은 키-값 형태의 자료형을 해시, 해시 맵, 해시 테이블 등으로 부르기도 한다.
9. 딕셔너리 키 개수 구하기
- len(딕셔너리)
>>> dix = {'name': '홍길동', 'age':20, 'weight': 85}
>>> len(dix)
3
키와 값은 1:1 관계이므로 키의 개수는 곧 값의 개수이다.
>>> dix = {'name': '홍길동', 'age':20, 'weight': 85}
>>> len({'name': '홍길동', 'age':20, 'weight': 85})
3
len함수에 딕셔너리 변수를 넣어도 되지만, len함수에 딕셔너리 그대로 넣어도 된다.
'IT지식 > Python' 카테고리의 다른 글
파이썬 if조건문과 들여쓰기 (0) | 2021.10.11 |
---|---|
파이썬 if조건문 (0) | 2021.10.11 |
파이썬 슬라이스(slice) (0) | 2021.10.10 |
파이썬 인덱스(index) (0) | 2021.10.09 |
파이썬 시퀀스 자료형 (1) | 2021.10.09 |