본문 바로가기
Python

[python] 딕셔너리(dictionary) 자료형

by 남민섭 2023. 3. 7.
728x90
반응형

구조가 자바스크립트의 객체와 비슷한거 같다

key: value 형태이다

 

딕셔너리 자료형은

리스트나 튜플처럼 순차적으로 요소값을 구하지 않고 key를 통해 value에 접근한다

 

구문)

{key1: value1, key2: value2, key3: value3}

key는 값이 중복안됨!!!!!!!!!

 

실습

dic = {'name': 'green', 'phone': '01012341234', 'age': 30}
dic2 = {1: 'a', 2: 'b', 3: 'c'}

 

속성추가하기

dic['isJob'] = True
print(dic)

#{'name': 'green', 'phone': '01012341234', 'age': 30, 'isJob': True}

value값 접근

print(dic['name'])
#green

 

요소 삭제하기

del dic['phone']
print(dic)
#{'name': 'green', 'age': 30, 'isJob': True}

dic2[4] = 'd'
print(dic2)
#{1: 'a', 2: 'b', 3: 'c', 4: 'd'}

dic3 = {'name': 'G', 'age': 30, 'name': 'b'}
print(dic3)
#{'name': 'b', 'age': 30}

 

 

딕셔너리 관련 함수

1. key리스트 만들기 keys()


구문)

딕셔너리.keys()  

파이썬 2.7버전까지 key만 리스트로 돌려줌
그 이후부터는 dict_keys객체로 돌려줌

dic3 = {'name': 'G', 'age': 30, 'name': 'b'}

dic3key = dic3.keys()

print(type(dic3key))
print(dic3key)


#<class 'dict_keys'>
#dict_keys(['name', 'age'])

 

2. 리스트 타입으로 변환하기 list()

dic3 = {'name': 'G', 'age': 30, 'name': 'b'}
dic3key = dic3.keys()

dic3keylist = list(dic3key)
print(dic3keylist)
#['name', 'age']

 

3. value리스트 만들기 values()

 

구문)

딕셔너리.values()
파이썬 2.7버전까지 value만 리스트로 돌려줌
그 이후부터는 dict_values 객체로 돌려줌

 

dic3 = {'name': 'G', 'age': 30, 'name': 'b'}

dic3value = dic3.values()
print(list(dic3value))
#['b', 30]

 

4. key,value쌍으로 구하기 items()

key와 value의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려줌

dic3 = {'name': 'G', 'age': 30, 'name': 'b'}

dic3item = dic3.items()
print(list(dic3item))
#[('name', 'b'), ('age', 30)]

 

5. key: value쌍 모두지우기 clear()

구문) 

딕셔너리.clear()

dic3 = {'name': 'G', 'age': 30, 'name': 'b'}

dic3.clear()
print(dic3)
#{}

 

6.key로 value값 구하기 get()


구문) 

딕셔너리.get(key)
딕셔너리[key]


차이점: 

존재하지 않는 key로 접근시 딕셔너리[key]는  key오류가 발생
없는 키로 호출 시 딕셔너리.get(key)는  None을 돌려줌

 

dic4 = {'name': '구름', 'age':3, 'color': 'white'}
print(dic4.get('name'))
print(dic4.get('age'))

#구름
#3

 

디폴트 지정하기 

구문)

get(key, default값)

print(dic4.get('a', 'aaa'))
#aaa

 

7. 해당 key가 딕셔너리 안에 있는지 조사 in


구문) 

'key' in 딕셔너리 있으면 True 없으면 false 리턴

dic4 = {'name': '구름', 'age':3, 'color': 'white'}

print('name' in dic4)
print('a' in dic4)

#True
#False

 

728x90
반응형

'Python' 카테고리의 다른 글

[python]bool 자료형  (0) 2023.03.07
[python] 집합 자료형(set())  (1) 2023.03.07
[python] 튜플(tuple) 자료형  (0) 2023.03.06
[python]리스트 자료형  (0) 2023.03.06
[python]파이썬 자료형(숫자형, 문자열 자료형)  (0) 2023.03.06

댓글