본문 바로가기
IT지식/Python

파이썬 딕셔너리

by 모두의 향연 2021. 10. 10.
728x90
반응형

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함수에 딕셔너리 그대로 넣어도 된다.

728x90
반응형

'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