우와한 개발자

[Python] 딕셔너리(dictionary)란? 딕셔너리 특징과 주요 함수

by 우와한개발자

1. 딕셔너리(dictionary)란?

  • key:value형태로 데이터를 저장하는 자료형
  • key는 유일해야하고(unique), list 타입 불가, tuple 타입 가능
  • value는 중복 및 모든 타입 가능
  • 대소문자 구분
  • 인덱스 참조 불가

2. 딕셔너리(dictionary) 생성

  • 중괄호{} 를 사용해 key:value 형태로 생성
my_info = {"name":"홍길동", "age":30}

 

3. 주요 함수

 

1) 기본 조회

  • len(dict_data) : 길이
  • dict_data.get(key, default) : key 에 해당하는 요소의 값 반환, 없으면 default반환 (default 지정안하면 None)
  • dic_data[key] : key 에 해당하는 요소의 값 반환
  • dict_data.keys() : 모든 key 반환
  • dict_data.values() : 모든 value 반환
  • dict_data.items() : (key, value) 튜플 쌍 반환
my_info = {"name":"홍길동", "age":30}
print(my_info.get("address","homeless")) #'homeless)
print(my_info.get("address")) None

my_info.keys() # dict_keys(['name', 'age'])
my_info.values() # dict_values(['홍길동', 30])
my_info.items() # dict_items([('name', '홍길동'), ('age', 30)])

for k, v in my_info.items():
	print(k,v)

 

2) 요소 추가

  • dict_data[key] = value : 기존 값 변경 또는 새로운 key:value 쌍 추가
  • append(), extend(), insert() 없음
my_info = {"name":"홍길동", "age":30}
my_info["address"] = "서울시" #{'name': '홍길동', 'age': 30, 'address': '서울시'}

 

3) 요소 삭제

  • dict_data.pop(key) : 해당 key와 value 삭제 후 반환(key지정 안하면 에러)
  • del dict_data[index] : 해당 요소 삭제 
  • dict_data.clear() : 모든 요소 삭제
my_info = {"name":"홍길동", "age":30}
print(my_info.pop("name")) # 홍길동
del my_info["name"] # my_info = {'age': 30}
my_info.clear() # my_info = {}

 

4) in 연산자

  • 해당 key가 있는지 확인
my_info = {"name":"홍길동", "age":30}
"name" in my_info # True
"address" in my_info #False

 

딕셔너리 반복문 

for data in my_dic.items():  #key와 value를 튜플로 반환 
	print(data[0], data[1])
    
for key, value in my_dic.items():  #key와 value를 튜플로 반환 
	print(key, value)

블로그의 정보

우와한개발자 님의 블로그

우와한개발자

활동하기