영벨롭 개발 일지

[Python]파이썬의 자료형: dict 딕셔너리 본문

Programming Language/Python

[Python]파이썬의 자료형: dict 딕셔너리

영벨롭 2022. 4. 25. 18:25

[ dict 딕셔너리 ]

 

딕셔너리는 키(key)와 값(value)가 한 쌍이 되어 순서에 상관없이 "키"를 통해 "값"에 바로 접근할 수 있는 자료형입니다. 

 

딕셔너리 = { Key1: Value1, Key2: Value2, ... } 

 

특징
순서가 없는 자료형
Key의 중복이 불가능한 자료형
변경이 가능한 자료형
Key는 list, set이 될 수 없음

 

dic = {'이름': '홍길동', '나이': '20', '키': '180'}

print(dic)

 

 

 

 

 

[ key & value 추가/삭제, value 접근/변경 ]

 

  • key & value 추가: dict[newKey] = newValue
dic = {'이름': '홍길동', '나이': '20', '키': '180'}

# key & value 쌍 추가
dic['사는 곳'] = '서울'

print(dic)

 

 

 

  • ket & value 삭제: del dict[key]
dic = {'이름': '홍길동', '나이': '20', '키': '180'}

# key & value 삭제
del dic['이름']

print(dic)

 

 

 

  • value 접근: dict[key]
dic = {'이름': '홍길동', '나이': '20', '키': '180'}

# value 접근
get = dic['이름']

print(get)  #홍길동

 

 

 

  • value 변경: dict[key] = newValue
dic = {'이름': '홍길동', '나이': '20', '키': '180'}

# value 변경
dic['이름'] = '김철수'

print(dic)

 

 

 

 

 

[ 딕셔너리 관련 메서드 ]

 

  • 키 존재 여부: key in dict

 해당 key 값이 딕셔너리 내에 존재하다면 True를 그렇지 않다면 False를 반환합니다. 

 

dic = {'이름': '홍길동', '나이': '20', '키': '180'}

key = '이름'

if key in dic:
  print('해당 key가 딕셔너리 안에 있습니다.')
else:
  print('해당 key가 딕셔너리 안에 없습니다.')

 

 

  • 딕셔너리의 모든 키: dict.keys()
dic = {'이름': '홍길동', '나이': '20', '키': '180'}

keys = dic.keys()

print(keys)

 

 

 

  • 딕셔너리의 모든 값: dict.values()
dic = {'이름': '홍길동', '나이': '20', '키': '180'}

values = dic.values()

print(values)

 

 

 

 

  • 딕셔너리의 모든 키&값 쌍: dict.items()

 딕셔너리의 모든 키&값 쌍을 반환해주며, 각 쌍은 tuple 형으로 이루어져 있습니다. 

 

dic = {'이름': '홍길동', '나이': '20', '키': '180'}

items = dic.items()

print(items)

for item in items:
  print('key: ', item[0], ', value: ', item[1])

 

 

 

 

  • key로 value 얻기: dict.get(key)

 get() 을 이용하여 value를 얻을 때는, key 값이 없으면 None을 반환하지만,

 

 []을 이용하여 value를 얻을 때는, key 값이 없으면 에러를 발생시킵니다. 

 

dic = {'이름': '홍길동', '나이': '20', '키': '180'}

value = dic.get('이름')

print(value)   #홍길동

 

 

 

 

  • 딕셔너리 비우기: dict.clear()
dic = {'이름': '홍길동', '나이': '20', '키': '180'}

dic.clear()

print(dic)    #{}
반응형