본문 바로가기
Python 파이썬/기초 & 내장모듈

python ) 딕셔너리 dictionary

by 하이방가루 2022. 3. 8.
728x90
반응형

키를 기반으로 값을 저장하는 자료형태

변수 = {
  키: 값,
  키: 값,
...
}

위와 같은 구조를 가진다.

키는 문자열, 숫자, 불, 변수 등으로 선언할 수 있다.

키를 인덱스로 값을 참조할 수 있다.

dict_user = { 'name': 'Jack', 'age':36 }
print( dict_user[ 'name' ] ) -> Jack

할당 연산자를 이용해서 새로운 키와 값을 삽입하거나 기존 키의 값을 수정할 수 있다.

del 키워드를 통해 특정 키를 지정하면 해당 요소가 제거된다.

dict_user = { 'name': 'Jack', 'age':36 }

dict_user[ 'job' ] = 'programer'
print(dict_user) # {'name': 'Jack', 'age': 36, 'job': 'programer'}

dict_user[ 'age' ] = 40
print(dict_user) # {'name': 'Jack', 'age': 40, 'job': 'programer'}

del dict_user[ 'age' ]
print(dict_user) # {'name': 'Jack', 'job': 'programer'}

in 키워드

  딕셔너리는 존재하지 않는 키에 접근하면 KeyError가 발생하기 때문에 키가 존해하는지 확인할 방법이 필요하다.

  ex) 키 in 딕셔너리 -> 키가 존재하면 True, 없으면 False

 

.get(키)

  딕셔너리[키]의 값을 반환한다. 만약 키가 존재하지 않는다면 None을 반환한다.

 

.valuse()

  딕셔너리의 값을 모두 반환한다.

 

.keys()

  딕셔너리의 키를 모두 반환한다.

 

.items()

  딕셔너리의 키와 값을 모두 반환한다.

dict_user = {'name': 'Jack', 'age': 36, 'job': 'programer'}

print( dict_user.values() ) # dict_values(['Jack', 36, 'programer'])
print( dict_user.keys() ) # dict_keys(['name', 'age', 'job'])
print( dict_user.items() ) # dict_items([('name', 'Jack'), ('age', 36), ('job', 'programer')])

for k in dict_user :
  print( k, end=' ' )  # name age job
  print( dict_user[ k ], end=' ' )  # Jack 26 programer
  print( dict_user.get( k ), end=' ' )  # Jack 26 programer  

for k, v in dict_user.items() :
  print( "{} : {}".format(k, v) )
# name : Jack
# age : 36
# job : programer

 

sorted( 딕셔너리.items() )

  key를 기준으로 오름차순으로 키와 값의 튜플 쌍을 리스트로 반환한다.

  reverse=True옵션을 주면 key를 기준으로 내림차순으로 키와 값의 튜플 쌍을 리스트로 반환한다.

dict_data = {'b':123, 'd':12, 'a':5, 'e':234, 'c':24}

new_dict = sorted( dict_data.items() )
print( new_dict ) # [('a', 5), ('b', 123), ('c', 24), ('d', 12), ('e', 234)]

new_dict = sorted(dict_data.items(), reverse=True)
print(new_dict) # [('e', 234), ('d', 12), ('c', 24), ('b', 123), ('a', 5)]
728x90
반응형

댓글